Shell批量签名Apk

在产品发布的时候,Android和IOS有一定的不同
IOS就只有App Store这一个渠道
而相反的Android可能有成百上千个不同的渠道(百度手机助手,豌豆荚,应用宝...)
当然我们可以在gradle脚本下通过设置productflavors
来打不同渠道的包,也非常方便
但是我们有时候除了对包进行混淆外还要进行加固
比如我们采用爱加密加固,如果本地同时打了几十个包,一一上传加固比较耗时耗力
所以通常打一个包
在加固之后分成多个渠道,然后一一下载
不过下载之后需要逐个签名,比较麻烦
今天分享一下笔者使用的脚本签名
笔者工作环境Ubutnu 14.04
使用Shell编写的简答的签名脚本,可以批量进行签名


#别名
aliase='temp'
#库密码
storepass='hao123'
#签名密码
keypass='hao456'
#秘钥
keystore='temp.jks'

output="output"

if [ ! -d "$output" ];then
   mkdir $output
fi

#签名
function sign(){
     jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -keystore $keystore -storepass $storepass -keypass $keypass -signedjar $tempname $filename $aliase 
}

function zipalign(){
     ./jre/bin/zipalign -f -v 4 $tempname $outputname
}

#$output"/"$(basename $filename .apk)"_signed.apk"
for filename in *
do 
   if [ "${filename##*.}" = "apk" ]; then
       outputname=$output"/"${filename//_unsign/_signed}
       echo "签名: "$filename
       tempname=$(basename $filename .apk)"_temp.apk"
       sign
       zipalign
       rm -rf $tempname
   fi
done

脚本地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,954评论 25 709
  • 【读经】 约书亚记1章 【金句】 “你们要走遍营中,吩咐百姓说:‘当预备食物;因为三日之内你们要过这约旦河,进去得...
    chanor阅读 6,876评论 0 0
  • 驾校再体验: 1、人只有受够该受的责骂,才能拥有熟练的技艺。 2、学车真正落实到了“师傅领进门修行靠个人”的说法。...
    _三公子_阅读 1,463评论 0 0
  • 1.支付宝引入报错 调用支付宝AlipaySDK 找不到头文件如果按照官网配置 对“Header Search P...
    百事小武阅读 3,604评论 0 0

友情链接更多精彩内容