使用 apksigner 对 apk 签名

当使用 apktool 回编译生成 APK 后,由于没有对 APK 签名,安装无法成功。

因此,需要对 apk 文件进行签名,通过 apksigner 可以方便的对 APK 签名。


1. apksigner 的介绍及安装

apksigner 包含在 Android SDK Tools 中,可通过 android studio 中 Tools -> Android -> SDK Manager -> SDK Tools 查看是否安装。

安装了 SDK Tools 后,在 %ANDROID_HOME%/build-tools 文件夹下对应的版本就能找到。

例如,我的机器上就保存在 C:\Users\<用户名>\AppData\Local\Android\sdk\build-tools 。

也可以查看 apksigner官方介绍 进行了解。


2. 使用 apksigner

2.1 通过 verify 命令检查 apk 是否被签名

如果不知道 apk 是否被签名,可以通过如下命令来检查

apksigner verify app.apk

其中,app.apk 就是 apk 的文件路径。

2.2 Keystore (.jks 文件)的生成

当进行签名时,需要使用一个 key 来对 APK 进行签名,保存 key 的文件就是 Keystore (.jks 文件)。
可以使用 android studio 生成 Keystore 文件(.jks 文件),在 Build -> Generate Signed APK

使用 apksigner 对 apk 签名_第1张图片

点击 Create new

使用 apksigner 对 apk 签名_第2张图片

其中,Key store path就是 jks 文件的路径。 这里面,主要是两个 password 要记住,因为签名的时候需要用到,其他的可以随意填写。

2.3 通过 sign 命令给 apk 进行签名

通过如下命令对 apk 签名

apksigner sign --ks release.jks app.apk

其中,release.jks 是 Keystore 文件的路径。
该命令执行中,会要求输入 Keystore password 和 key password,这些都是生成 Keystore 的时候由自己设置的。

签名成功后,就可以正常安装 APK 了。

你可能感兴趣的:(使用 apksigner 对 apk 签名)