使用jks文件为apk签名

2022-06-29 08:39:26 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

参与的项目近期要求安全检测,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

0 人点赞