Apk 打包签名

Apk 打包签名

apk前置软件:

打包

终端>apktool b 需打包文件夹 已打包.APK

生成秘钥库

终端>keytool -genkey -alias 别名 -keyalg RSA -validity 证书有效天数 -keystore 名称.keystore

如需查看:keytool -list -keystore “antma.keystore”

秘钥向apk签名

jarsigner -verbose -keystore 名称.keystore -signedjar 签名后.APK 签名前.APK 别名(alias)

apktool 命令参数
-d 解包
-b 打包
-o 输出文件位置
-f 覆盖已经存在文件

keytool 命令参数
-genkey 产生证书文件
-alias 别名
-keyalg 密钥算法
-validity 证书有效天数
-keystore 密钥库名称

Jarsigner 命令参数
-verbose 输出日志
-keystore 密钥位置
-signedjar 设置输出输入文件名
alias 签名证书别名 作者:羡魚儿

部分引用自作者:羡魚儿 https://www.bilibili.com/read/cv16028829 出处:bilibili

V2 V3 签名

首先生成密钥库

keytool -genkey -alias 别名 -keyalg RSA -validity 证书有效天数 -keystore 名称.keystore

查看

keytool -list -keystore "antma.keystore" 

注意

使用jarsigner签名为v1无法安装在新的设备上

以下工具都在Android studio的SDK中

apksigner签名代码:

apksigner.bat sign --ks myApp.keystore --out signed.apk unsigned.apk

四字节对齐

需要执行,有可能无法安装,apk要求文件都四字节对齐

.\zipalign -v 4 unsigned.apk unsigned4.apk

查看是否已经对齐

zipalign -c -v 4 output_unsigned.apk