使用jks文件为apk签名

简介: 使用jks文件为apk签名

参与的项目近期要求安全检测,apk不达标并且无法修复的话会要求使用官方加固包。加固之后的包签名会失效,所有需要重新进行签名。今天借此机会记录一下整个操作流程。

原来apk是使用jks格式的签名文件来操作的,还有一种是keystore文件格式。我们先来看jks文件格式怎么操作

一、jks格式操作步骤:
1、基本语法
jarsigner -digestalg SHA1 -sigalg SHA1withRSA -verbose -keystore {签名文件} -storepass {签名密码} -signedjar {签名之后的包名} {需要签名的apk} {别名}

这里很多人说签名文件及需要签名的apk要使用绝对路径,经过测试发现使用相对路径也是可以的。

2、示例
#先进入目录,如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、基本语法
jarsigner -digestalg SHA1 -sigalg RSA -keystore {keystore文件路径} -storepass {keystore文件的密码} -signedjar {新的apk包名} {要签名的apk包路径} {别名}
2、示例
#先进入目录,如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"
相关文章
|
3月前
|
JavaScript Android开发
AutoJs4.1.0实战教程---js文件打包发布成APK文件
AutoJs4.1.0实战教程---js文件打包发布成APK文件
114 0
AutoJs4.1.0实战教程---js文件打包发布成APK文件
|
1月前
|
JavaScript Android开发
【问题篇】打包Vue-cli3创建的vue项目成App的apk文件
【问题篇】打包Vue-cli3创建的vue项目成App的apk文件
26 0
|
5月前
查看apk的sha1签名
查看apk的sha1签名
55 0
|
2月前
|
算法 Java Android开发
安卓逆向 -- 调用其他APK的SO文件
安卓逆向 -- 调用其他APK的SO文件
17 0
|
2月前
|
Android开发 数据安全/隐私保护
打包 android apk签名
打包 android apk签名
19 0
|
3月前
|
IDE 开发工具 Android开发
Android Studio 下发布项目成APK文件
Android Studio 下发布项目成APK文件
118 1
|
3月前
Autojs实战教程---番茄免费小说Apk文件和源码
Autojs实战教程---番茄免费小说Apk文件和源码
129 0
|
3月前
基于AutoJs的抖音短视频养号Apk文件
基于AutoJs的抖音短视频养号Apk文件
40 0
|
5月前
发布在IIS的apk或者ipa文件无法访问
发布在IIS的apk或者ipa文件无法访问
72 0
|
6月前
|
C#
.net core 从(本地)服务器获取APK文件并解析APK信息
## 1、apk解析除了使用客户端利用aapt.exe、unzip.exe开发客户端解析外,还可以直接利用服务进行解析 ```csharp /// <summary> /// 从本地服务器获取APK文件并解析APK信息 /// </summary> /// <param name="fileName">APK文件的完整路径</param> /// <returns></returns> [HttpPost, HttpGet, HttpOptions, CorsOptions] public IActionResult DecodeAPK(string fileName) { if(fi
30 0