Android开发过程中,一般习惯依赖于用Android studio来打包apk,通过图形化界面来打包,操作也简单。这种情况一般适用于程序员,有一种情况是,客户需要自己打包,然而客户不是开发者,不懂用Android studio,这个时候要不给他们提供一个打包文档,要不手把手教,但还是有可能存在失误。
但是如果,把打包的操作写成一个脚本,再告诉客户一个运行这个脚本的命令,基本上就可以保证万无一失了。
先说说运行脚本的方法(脚本名为build_apk.sh):
第一点:确保电脑有java开发环境
第二点:打开终端,进入到与build_apk.sh相同的目录下(如果环境变量已经配置为全局,则可以不用进入相同目录)
第三点:在终端输入命令行 ./build_apk.sh (或build_apk.sh 因环境变量配置不同而不同)然后再按回车键,即可在运行脚本,运行完在相应的目录下即可生成apk了。
就是如此的简单,但是apk存放在哪个目录呢,不要着急,都是在build_apk.sh这个脚本里面配置好的。
下面是脚本的具体代码,备注都写得很清楚,可以自己看下:
envId="Sit" //渠道,app存在不同的服务器环境,这里选择sit环境
buildId="Debug" //打包类型,这里选择debug模式
CURRENT_DIR_PATH="../SIT" //apk存放的目录,这个目录可以根据自己的需求而改变
echo "CURRENT_DIR_PATH: $CURRENT_DIR_PATH" //打印目录
cd ../MY_AOS //进入到这个目录下
cp ../SIT/config.properties ./ //复制这个文件到上一个目录,原因是在这个配置文件中存在当前sit环境的配置,需要获取替换,而需求不同而不同
chmod +x gradlew
./gradlew clean
./gradlew "assemble$envId$buildId" -x lint
buildStr=`echo "$buildId" | tr '[:upper:]' '[:lower:]'`
APK_OUTPUT_PATH="./app/build/outputs/apk/sit/debug"
moveNewApkIntoFolder () {
mv -f "$APK_OUTPUT_PATH/"*".apk" "$CURRENT_DIR_PATH/APK/"; //将生产的apk移动到对应目录下
}
moveNewApkIntoFolder;
echo "Promon SHIELD Successful..."
echo "Promon SHIELD Completed..."
echo "BUILD Completed Successfully..."