以前对apk重新打包签名都是用的apktool里面的Auto-sign 工具,后来发现有时候利用该工具对一些apk签名会失败,所以后来就使用 jarsigner这个工具,现记录一下这个工具的使用方法
创新互联专注于原阳企业网站建设,成都响应式网站建设,购物商城网站建设。原阳网站建设公司,为原阳等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
1 首先要生成一个自己的key
D:\>keytool -genkey -alias myKeyStore -keyalg RSA -validity 20000 -keystore myKeyStore
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: sun
您的组织单位名称是什么?
[Unknown]: ze
您的组织名称是什么?
[Unknown]: duo
您所在的城市或区域名称是什么?
[Unknown]: df
您所在的省/市/自治区名称是什么?
[Unknown]: fd
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=sun, OU=ze, O=duo, L=df, ST=fd, C=cn是否正确?
[否]: y
输入
(如果和密钥库口令相同, 按回车):
这里输入密钥库口令: 要输入你的密钥库的指令,并且要记住后面用的着,没有什么意外情况的话,填写了下面的指令以后,就能生成一个 myKeyStore 这个密钥文件了
2 使用密钥文件来重新签名自己的apk
jarsigner -verbose -keystore myKeyStore -signedjar TestB_signed.apk TestB.apk myKeyStore
D:\>jarsigner -verbose -keystore myKeyStore -signedjar TestB_signed.apk TestB.apk myKeyStore
输入密钥库的密码短语:
正在添加: META-INF/MANIFEST.MF
正在添加: META-INF/MYKEYSTO.SF
正在添加: META-INF/MYKEYSTO.RSA
正在签名: AndroidManifest.xml
正在添加: assets/
正在签名: assets/finalout.dex
正在签名: classes.dex
正在添加: lib/
正在添加: lib/armeabi/
正在签名: lib/armeabi/libinit.so
正在签名: lib/armeabi/libsocketback.so
正在签名: lib/armeabi/libsocketclient.so
正在添加: res/
正在签名: resources.arsc
正在添加: res/drawable-hdpi/
正在签名: res/drawable-hdpi/ic_launcher.png
正在添加: res/drawable-ldpi/
正在签名: res/drawable-ldpi/ic_launcher.png
正在添加: res/drawable-mdpi/
正在签名: res/drawable-mdpi/ic_launcher.png
正在添加: res/layout/
正在签名: res/layout/login.xml
正在签名: res/layout/main.xml
jar 已签名。
警告:
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期
日期 (2069-04-17) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。
输入密钥库的密码短语:
这里输入刚才设置的密钥密码,然后就能够生成签名后的apk了,然后安装即可..