linux CentOS7.2 shell脚本签名apk文件(8核CPU)

1).安装jdk1.8.0_144
2).安装android-sdk_r24.4.1-linux.tgz
3).上传签名文件android.keystore
4).写shell脚本signapk.sh

signapk.sh

#!/bin/bash  
# param1, APK file: Calculator_debug.apk
# param2, keystore location: ~/.android/debug.keystore
# param3, key storepass: android
# param4, key alias: androiddebugkey

USER_HOME=$(eval echo ~${SUDO_USER})

查询CPU数量,返回的是CPU核数
CPUNUM=` cat /proc/cpuinfo | grep "cpu cores"|wc -l`

定义CPU的总数
let CPUNUM=CPUNUM-1

统计签名文件的个数
JARSIGNERNUM=`ps ax|grep jarsigner|wc -l`

如果正在签名的文件大于定义的CPU的总数那么退出。
if [ $JARSIGNERNUM -gt $CPUNUM ] ;then
        echo "too many"
        exit 0;
fi

# use my debug key default
APK=$1
KEYSTORE="签名文件路径"
STOREPASS="签名文件密码"
ALIAS="别名"


if [ $# -ne 2  ]; then
        echo "usage:"
        echo "jarsigner source_apk  desnation_apk"
APK_BASENAME=$(basename $APK)
#SIGNED_APK="signed_"$APK_BASENAME
SIGNED_APK=$2

#debug
#echo apk: $APK
#echo keystore: $KEYSTORE
#echo storepass: $STOREPASS
#echo alias: $ALIAS
#!/bin/bash  
# param1, APK file: Calculator_debug.apk
# param2, keystore location: ~/.android/debug.keystore
# param3, key storepass: android
# param4, key alias: androiddebugkey

USER_HOME=$(eval echo ~${SUDO_USER})
CPUNUM=` cat /proc/cpuinfo | grep "cpu cores"|wc -l`
let CPUNUM=CPUNUM-1
JARSIGNERNUM=`ps ax|grep jarsigner|wc -l`
if [ $JARSIGNERNUM -gt $CPUNUM ] ;then
        echo "too many"
        exit 0;
fi

# use my debug key default
APK=$1
KEYSTORE="/usr/java/android.keystore"
STOREPASS="twomonth"
ALIAS="android"


if [ $# -ne 2  ]; then
        echo "usage:"
        echo "jarsigner source_apk  desnation_apk"
APK_BASENAME=$(basename $APK)
#SIGNED_APK="signed_"$APK_BASENAME
SIGNED_APK=$2

#debug
#echo apk: $APK
#echo keystore: $KEYSTORE
#echo storepass: $STOREPASS
#echo alias: $ALIAS
#echo $APK_BASENAME


# delete META-INF folder
#zip -d $APK META-INF/\*

$STOREPASS $APK $ALIAS
/usr/java/jdk1.8.0_131/bin/jarsigner   -sigalg SHA256withRSA -digestalg SHA1 -keystore $KEYSTORE -storepass $STOREPASS $APK $ALIAS  1>/dev/null 2>&1

#verify
#/usr/java/jdk1.8.0_131/bin/jarsigner  -verify -verbose -certs $APK

#zipalign
/usr/android-sdk-linux/build-tools/23.0.2/zipalign  -v 4 $APK $SIGNED_APK  1>/dev/null 2>&1

echo "ok"
exit 0

猜你喜欢

转载自blog.csdn.net/weixin_42135441/article/details/82740691