Android gradle 自动打包、加固
2019-06-14 本文已影响0人
_发强
前提条件:
需要在 build.gradle 文件中配置签名信息
新建一个 .sh 文件, eg: stage.sh
#!/bin/bash
# 添加加固配置
BASE=/Users/xxxx/xxxxx/jiagu.jar #这个配置 jiagu.jar 的完整路径
NAME=xxx # 加固账号
PASSWORD=xxx # 加固账号的密码
# 添加签名文件配置
KEY_PATH=/Users/xxxx/keystroe.jks # 签名文件的完整路径
KEY_PASS=xxxx # 签名文件密码,和别名密码共用
KEY_ALIAS=key0 # 签名文件别名
# APK 路径
APK_DIR=/User/xxx.../release # 打包后的完整目录路径。 一般情况下会在 build 目录下。
TARGET_DIR=/xxx # APK 保存的目标路径
# 要先进入的 Project 的根目录
# cd .. 这个需要根据自己当前的 .sh 文件目录来执行。
echo "------------------ start -------------------"
# 清理一下build 目录
./gradlew clean
# 执行打包命令
./gradlew assembleProduct
# 获取 生成的 apk 文件路径。
APK_PATH=""
for file in `find ${APK_DIR} -name "*.apk"`
do
APK_PATH=${file}
echo "path = $APK_PATH"
done
echo "---------- Jiagu Begining ---------"
java -jar ${BASE} -version
# 加固
java -jar ${BASE} -login ${NAME} ${PASSWORD}
# 配置签名信息
java -jar ${BASE} -importsign ${KEY_PATH} ${KEY_PASS} ${KEY_ALIAS} ${KEY_PASS}
#开始加固
java -jar ${BASE} -jiagu ${APK_PATH} ${TARGET_DIR} -autosign
echo "---------- Jiagu End ---------"
# 后续操作视个人情况。
上述的 .sh 文件基本就这些。 然后我们需要到该文件所在目录去执行 .sh
文件。
执行时遇到 permission denied 问题
这个是因为当前目录没有执行 .sh 文件的权限。需要为文件添加可执行权限,执行此命令:chmod +x [fileName]