Mac环境脚本对齐签名

#!/bin/bash

echo ======================================

echo Mac环境下签名须知

echo 1、将此.command脚本放在您需要签名的apk同级目录下(.jks文件也需要放在此根目录)

echo 2  使用签名和对齐的时候需要把工具链路写全

echo 3、修改KEYSTORE_PATH路径到你生成的keystore目录

echo 4、将FILE_NAME设置为需要签名的apk文件名

echo 5、将keystore的密码和别名alias修改为自己的

echo 6、执行结果将生成一个sign文件夹和一个zipalign文件夹,分别存放了签名后的APK和简化后的APK,签名完成删除zipalign

echo 7、如果出现未提供-tsa或-tsacert的警告,签名指令后加上-tsa https://timestamp.geotrust.com/tsa 如有问题请查阅百度、google

echo ======================================

echo "参数一:$0"

echo "参数二:$1"

# 当前路径

Cur_Dir=$(cd `dirname $0`; pwd)

echo 当前路径: ${Cur_Dir}

# 文件名取第二个参数 

FILE_NAME=$1

# 如果没有输入参数校验一下
if [ ! -n "$1" ] ;then
    echo "必须传入参数,比如7.1.0" exit
else
    echo ----- 参数正确,开始配置-----
fi

# Android SDK路径

ANDROID_TOOLS_PATH="/Users/hz_wave/Library/Android/sdk"

#签名build-tools路径

#BUILD_TOOLS_PATH = /Users/hz_wave/Library/Android/sdk/build-tools/29.0.3

#签名工具路径

#SIGN_TOOLS_PATH = "/Users/hz_wave/Library/Android/sdk/build-tools/29.0.3/apksigner"

#对齐工具路径

#ZIPALIGN_TOOLS_PATH = "/Users/hz_wave/Library/Android/sdk/build-tools/29.0.3/zipalign"

# keystore路径

KEYSTORE_PATH="${Cur_Dir}/xxxxxx.jks"

# apk存放路径

APK_PATH="${Cur_Dir}/${FILE_NAME}.apk"

# 签名的apk

SIGN_APK_PATH="${Cur_Dir}/sign/${FILE_NAME}_sign.apk"

# 简化的apk

ZIPALIGN_APK_PATH="${Cur_Dir}/zipalign/${FILE_NAME}_zipalign.apk"

# alias名字

ALIAS_NAME="xxxxx"

# keystore 密码

STOREPASS=xxxxx

echo ----- 开始执行签名和对齐了-----

# 如果sign文件夹不存在就创建一个

if [ ! -d "${Cur_Dir}/sign" ]; then

mkdir "${Cur_Dir}/sign"

fi

# 如果zipalign文件夹不存在就创建一个

if [ ! -d "${Cur_Dir}/zipalign" ]; then

mkdir "${Cur_Dir}/zipalign"

fi

# 如果同名简化apk存在,删除之

if [ ! -d "${ZIPALIGN_APK_PATH}" ]; then

rm -if "${ZIPALIGN_APK_PATH}"

fi

echo ----- 对齐简化开始 -----

# 执行对齐简化

echo ${APK_PATH}

/Users/hz_wave/Library/Android/sdk/build-tools/29.0.3/zipalign -p -f -v 4 ${APK_PATH} ${ZIPALIGN_APK_PATH}

echo ----- 对齐简化结束-----

# 执行签名

echo -----签名开始-----

#备注:Mac环境使用全路径 apksigner,前面去申明的话报错找不到,不知道为啥
/Users/hz_wave/Library/Android/sdk/build-tools/29.0.3/apksigner sign --v1-signing-enabled true --v2-signing-enabled true --ks ${KEYSTORE_PATH} --ks-key-alias ${ALIAS_NAME} --ks-pass pass:${STOREPASS} --key-pass pass:${STOREPASS} -in ${ZIPALIGN_APK_PATH} -out ${SIGN_APK_PATH} 

#这种方式先不管 jarsigner -verbose -keystore ${KEYSTORE_PATH} -storepass ${STOREPASS} -signedjar ${SIGN_APK_PATH} -digestalg SHA1 -sigalg MD5withRSA ${APK_PATH} ${ALIAS_NAME}

pwd

cd ${Cur_Dir} 

ls

cd sign

ls

cd ..

ls

echo -----签名结束-----

#移除对齐简化的文件,保留签名文件即可
rm -rf zipalign

ls

echo OK!完成签名工作,请查看对应的包,需要安装到手机测试下哦!!!
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值