mac 下自动化签名android。apk
欢迎观看,转载请标明来源:http://blog.****.net/u011400848/article/details/78436522
在windows下我就不说了,360有一个签名工具,可以直接签名。
在mac下,没有签名工具,只能自己写sh脚本了。虽然之前从来没接触过sh。
但是在疯狂百度下还是把脚本勉强写完了。
这里就简单说一下用法吧。待会我会附上下载链接,直接可以下载就可以使用了。
下载之后解压完毕后你看到的是这样的。
apk_singer_sign.sh为单个apk打包脚本
start_folder_sign.sh为文件夹打包脚本,关联了apk_singer_sign.sh需要apk_singer_sign.sh在同一个文件夹下才能使用。
使用方法如下:
1,打开终端。
2,拖入脚本。第一次使用可能会提示权限不足。使用chmod a+x 文件路径。授权。再使用。
脚本拖入后:拖入文件夹或者需要打包的apk文件。
图中是文件夹。你也可以拖入apk文件。文件夹里面全是apk文件。如果有非apk文件建议删除避免出错。
然后点 enter键。就可以了。
apk_singer_sign源码如下,都写了注释应该很好理解。密码和别名改为自己签名文件的。
#!/bin/bash
# setting default key path here
# local OPTIND
# jarsigner -verbose -verify -keystore ${keyPath} -certs ${packagePath}
# 这里放你的key路径。格式如下:需要修改一般为key.store
DEFAULT_KEY_PATH=/Volumes/mac_ex/sign/key.store
# 此处放你的STORE密码需要修改
DEFAULT_STORE_PASS=password
# 别名需要修改
DEFAULT_ALIASES=aliases
# Key密码需要修改
DEFAULT_KEY_PASS=password
# 加密方式一般不用改
DEFAULT_DIGESTALG=SHA1
# 签名方式一般不用改
DEFAULT_SIGALG=SHA1withRSA
#MD5withRSA
sigalg=${DEFAULT_SIGALG}
digestalg=${DEFAULT_DIGESTALG}
keyPath=${DEFAULT_KEY_PATH}
storepass=${DEFAULT_STORE_PASS}
keypass=${DEFAULT_KEY_PASS}
aliases=${DEFAULT_ALIASES}
packagePath="$1"
num=$(($(echo ${#packagePath}) - 4 ))
packagePath2=${packagePath:0:$num}"_align_sign.apk"
IS_VERIFY=false
if [ ! -n "$1" ];then
echo "unkonw path, please use apk path"
exit1
else
while getopts"p:k:h:" arg#after param has ":" need option
do
case $argin
p)
echo "Package path: $OPTARG"
packagePath=$OPTARG
;;
k)
echo "Key Path: $OPTARG"
keyPath=$OPTARG
;;
h)
echo "use -p [packagePath] -k [keyPath] -h Show help"
exit1
;;
?) # other param?
echo "unkonw argument, please use -p [packagePath] -k [keyPath]"
exit1
;;
esac
done
fi
echo "sigalg: ${sigalg}"
echo "digestalg: ${digestalg}"
echo "keyPath: ${keyPath}"
echo "storepass: ${storepass}"
echo "aliases: ${aliases}"
echo "keypass: ${keypass}"
echo "packagePath: ${packagePath}"
echo "packagePath2:"${packagePath2}
#下面开始签名认证,如果不认证将无法上架。
jarsigner -verbose -digestalg ${digestalg} -sigalg ${sigalg} -keystore ${keyPath} -storepass ${storepass} -keypass ${keypass} ${packagePath} ${aliases}
zipalign -f -v 4 ${packagePath} ${packagePath2}
#jarsigner -verbose -verify -keystore ${keyPath} -certs ${packagePath}
下载地址:http://download.****.net/download/u011400848/10102898