-
生成签名密钥
在签名APK之前,需要先生成一个签名密钥。可以使用Java的keytool工具来生成签名密钥。以下示例展示了如何使用keytool生成签名密钥:
keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -validity 10000 -keystore mykeystore-1.jks -
使用apksigner签名APK
接下来,使用apksigner对APK进行签名。以下示例展示了如何使用apksigner签名APK:
java -jar android/prebuilts/sdk/tools/linux/bin/apksigner.jar sign --ks mykeystore-1.jks --ks-key-alias mykey -ks-pass pass:123456 --key-pass pass:123456 --v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled true --out test-signed.apk test.apk -
验证签名
完成签名后,可以使用apksigner验证APK的签名。以下示例展示了如何使用apksigner验证APK的签名:
android/prebuilts/sdk/tools/linux/bin$ java -jar apksigner.jar verify -v --print-certs test-signed.apk
查看apk签名类型:
android/prebuilts/sdk/tools/linux/bin/apksigner verify -v test.apk
查看apk 版本信息:
android/prebuilts/sdk/tools/linux/bin/aapt dump badging test.apk