android结合Jenkins使用V2签名

今日客户对安卓apk进行代码扫描时发现漏洞,后经过研究解决办法为安卓V2签名。

解决办法:Jenkins只能用命令行去设置签名。

步骤1:ZipAlign

zip对齐,因为APK包的本质是一个zip压缩文档,经过边界对齐方式优化能使包内未压缩的数据有序的排列,从而减少应用程序运行时的内存消耗 ,通过空间换时间的方式提高执行效率(zipalign后的apk包体积增大了100KB左右)。
打开cmd,把目录切换到SDK的build-tools目录下(例如 E:\SDK\build-tools\25.0.2\),执行:

zipalign -v 4 in.apk out.apk //执行4字节对齐优化操作 
zipalign -c -v 4 in.apk //检查当前APK是否已经执行过Align优化

步骤2:

apksigner是一款在Android build tools 24.0.3及以上版本中提供的对apk文件签名以及验证签名信息的工具,它与jarsigner的作用类似,但比后者功能更加强大。注意在使用apksigner前,请先对APK执行zipalign,而不能在之后执行zipalign操作,这一点与jarsigner不同。

apksigner sign --ks demo.jks --out out.apk in.apk

示例:

#!/bin/bash
cd /Users/jenkins/jenkins/tool/android-sdk-macosx/build-tools/26.0.2
./zipalign -v 4 ${WORKSPACE}/version/${JOB_NAME}_${BUILD_NUMBER}_${SVN_REVISION_2}.apk ${WORKSPACE}/version/${JOB_NAME}_${BUILD_NUMBER}_${SVN_REVISION_2}_V2.apk

./apksigner sign --ks /Users/jenkins/Documents/Android_keystore/essencefund.keystore --ks-pass pass:essencefund ${WORKSPACE}/version/${JOB_NAME}_${BUILD_NUMBER}_${SVN_REVISION_2}_V2.apk

./apksigner verify -v ${WORKSPACE}/version/${JOB_NAME}_${BUILD_NUMBER}_${SVN_REVISION_2}_V2.apk

cd -

原文出处:

https://blog.csdn.net/lamelias/article/details/53669417 

https://www.jianshu.com/p/e1e2fd05bb62

https://www.jb51.net/article/141954.htm

猜你喜欢

转载自www.cnblogs.com/wwyxyt/p/10169697.html
今日推荐