android结合Jenkins使用V2签名

摘要:
今天,当客户扫描Android APK的代码时,他发现了一个漏洞。研究了解决方案后,他签署了Android V2。打开cmd,将目录切换到SDK的构建工具目录,并执行:zipalin-v4in.apkout。apk//执行4字节对齐优化操作zipalin-c-v4in apk//检查当前apk是否已执行对齐优化步骤2:apksigner是一个用于签名apk文件和验证Androidbuildtools24.0.3及更高版本中提供的签名信息的工具。它类似于jarsigner,但比jarsign更强大。注意:在使用apksigner之前,您应该先在APK上执行zipalin,而不是稍后执行zipaln,这与jarsigner不同。

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

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

步骤1:ZipAlign

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

免责声明:文章转载自《android结合Jenkins使用V2签名》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Mysql 命令行下建立存储过程RSA加解密&RSA加验签详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jenkins 配置杂项优化

path="${jenkinsProject.workspace}/backup/" rollback=['bash', '-c', "ls -t1 ${path} "].execute().text.readLines() if (action.equals("RollBack")) { returnrollback } else{ re...

Jenkins持续集成&安装配置

转载地址:https://blog.csdn.net/weixin_41947378/article/details/111559374 一、什么是持续集成? 持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库。这个概念是为了消除发现的问题,后来出现在构建生命周期的问题。持续集成要求开发人员有频繁的构建。最常见的做法是,每当一个代码提交时,构建...

汇集移动端兼容性问题

1、一些情况下对非可点击元素如(label,span)监听click事件,ios下不会触发 css增加cursor:pointer 2、三星手机遮罩层下的input、select、a等元素可以被点击和focus(点击穿透) 发现于三星手机,这个在特定需求下才会有,因此如果没有类似问题的可以不看。首先需求是浮层操作,在三星上被遮罩的元素依然可以获取focu...

HBuilderX 连接 逍遥模拟器 之 解决没法找到模拟器设备 问题

HBuilderX、逍遥模拟器的来源:官网 导入HBuilderX 一个项目文件夹,打开任一个html文件,我在 运行 —— 运行到手机或模拟器 里找不到可运行的设备,我采用的第一种方法: HBuilderX连接安卓模拟器 - 简书 (jianshu.com)(百度大多为这种但最后没得解决问题) 最后我找到了第二种方法: HBuilder使用逍遥安卓模拟器...

【转】Android实现圆角边框

[转自]:http://iaiai.iteye.com/blog/1102958 设置边框圆角可以在drawable-mdpi目录里定义一个xml: Java代码 <?xmlversion="1.0"encoding="utf-8"?> <shapexmlns:android="http://schemas.android...

linux 环境下jmeter+ant+jenkins

一、linux下的jenkins的安装: 下载链接:https://pan.baidu.com/s/1qZItZOC 密码:58da Jenkins 下载网址: http://jenkins-ci.org/ 1.准备:JDK环境,配置环境变量 1、下载tar.gz格式的软件包至本地服务器上;下载地址为:http://www.oracle.com/techn...