大家好,又见面了,我是你们的朋友全栈君。
参与的项目近期要求安全检测,apk不达标并且无法修复的话会要求使用官方加固包。加固之后的包签名会失效,所有需要重新进行签名。今天借此机会记录一下整个操作流程。
原来apk是使用jks格式的签名文件来操作的,还有一种是keystore文件格式。我们先来看jks文件格式怎么操作
一、jks格式操作步骤:
1、基本语法
代码语言:javascript复制jarsigner -digestalg SHA1 -sigalg SHA1withRSA -verbose -keystore {
签名文件} -storepass {
签名密码} -signedjar {
签名之后的包名} {
需要签名的apk} {
别名}
这里很多人说签名文件及需要签名的apk要使用绝对路径,经过测试发现使用相对路径也是可以的。
2、示例
代码语言:javascript复制#先进入目录,如D:sign_test
cd D:sign_test
#再敲入下面的签名指令,签名文件是sign.jks,apk包名sign_test_2.41.apk
jarsigner -digestalg SHA1 -sigalg SHA1withRSA -verbose -keystore ./sign.jks -storepass xxxx -signedjar sign_test_2.41_signed.apk ./sign_test_2.41.apk "sign app"
演示环境是Windows,在相同目录操作的,所以使用./xxx
;别名因为有空格所以使用了双引号。这里注意的是如果没有设置有效期的话会给出警告。
二、keystore格式操作步骤
1、基本语法
代码语言:javascript复制jarsigner -digestalg SHA1 -sigalg RSA -keystore {
keystore文件路径} -storepass {
keystore文件的密码} -signedjar {
新的apk包名} {
要签名的apk包路径} {
别名}
2、示例
代码语言:javascript复制#先进入目录,如D:sign_test
cd D:sign_test
#再敲入下面的签名指令,签名文件是sign.keystore,apk包名sign_test_2.41.apk
jarsigner -digestalg SHA1 -sigalg RSA -keystore ./sign.keystore -storepass xxxx -signedjar sign_test_2.41_signed.apk ./sign_test_2.41.apk "sign app"
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132570.html原文链接:https://javaforall.cn