Android打包脚本示例
在Android项目中,打包APK通常可以通过Gradle构建系统来实现。在这个过程中,我们可以编写Shell脚本来自动化这个流程。这对于需要频繁构建多个版本或者在CI/CD流水线中使用非常有用。
下面是一个基本的Android打包Shell脚本示例:
#!/bin/bash
# 设置项目的根目录
PROJECT_ROOT="/path/to/your/android/project"
# 设置Gradle命令的路径,通常你可以使用项目中的gradlew
GRADLE_CMD="$PROJECT_ROOT/gradlew"
# 设置输出APK的路径
OUTPUT_DIR="$PROJECT_ROOT/app/build/outputs/apk"
# 清理旧的构建
echo "Cleaning old builds..."
$GRADLE_CMD clean
# 构建Release版本APK
echo "Building Release APK..."
$GRADLE_CMD assembleRelease
# 检查构建是否成功
if [ $? -ne 0 ]; then
echo "Build failed!"
exit 1
fi
# 查找生成的APK
APK_PATH=$(find $OUTPUT_DIR -name "*.apk" | grep release)
if [ -z "$APK_PATH" ]; then
echo "APK not found!"
exit 1
fi
# 输出成功信息和APK路径
echo "Build successful!"
echo "Your APK is located at: $APK_PATH"
使用示例
- 将上述脚本保存到一个文件中,例如
build-apk.sh
。 - 修改脚本中的
PROJECT_ROOT
变量,设置为你的Android项目的根目录。 - 赋予脚本执行权限:
chmod +x build-apk.sh
- 运行脚本:
./build-apk.sh
说明
- 清理构建(clean):在构建新APK之前,清理以前的构建文件。
- 生成APK(assembleRelease):使用Gradle命令生成Release版本的APK。
- 错误处理:如果构建失败,脚本将输出错误信息并退出。
- 输出信息:成功构建后,脚本会输出生成的APK路径。
这个脚本只是一个基础的示例,你可以根据实际需要进行自定义,比如增加对不同构建变体(Build Variants)的支持,或者通过参数动态配置构建类型等。