博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android结合Jenkins使用V2签名
阅读量:6907 次
发布时间:2019-06-27

本文共 1295 字,大约阅读时间需要 4 分钟。

今日客户对安卓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

转载于:https://www.cnblogs.com/wwyxyt/p/10169697.html

你可能感兴趣的文章
python数字图像处理(7):图像的形变与缩放
查看>>
设计模式-观察者模式(上)<转>
查看>>
RabbitMQ 集群与高可用配置
查看>>
Java学习——何为JNDI
查看>>
Android IOS WebRTC 音视频开发总结(六二)-- 大数据解密国外实时通讯行业开发现状...
查看>>
CSharpGL(11)用C#直接编写GLSL程序
查看>>
openvas
查看>>
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
查看>>
消息推送技术
查看>>
flume 自己定义 hbase sink 类
查看>>
组织目标与个人目标
查看>>
Educational Codeforces Round 8 E. Zbazi in Zeydabad 树状数组
查看>>
自己主动下载源代码_并编译_打包_部署_重新启动服务的Shell脚本
查看>>
常思己过 如切如磋
查看>>
Android中使用Handler造成内存泄露的分析和解决
查看>>
《ArcGIS Engine+C#实例开发教程》第六讲 右键菜单添加与实现
查看>>
ArrayList与LinkedList区别
查看>>
Linux 学习之路:认识shell和bash
查看>>
POJ 3041(最小点覆盖)
查看>>
Viewing the interface of your Swift code,查看Swift代码的头文件的三种方法
查看>>