生成 Android 应用的签名证书
keytool -genkeypair -v -keystore your_keystore_name.keystore -alias your_alias_name -keyalg RSA -keysize 2048 -validity 10000
-genkeypair
:生成密钥对。-v
:详细输出信息。-keystore your_keystore_name.keystore
:指定生成的密钥库文件名。-alias your_alias_name
:指定别名,用于标识密钥。-keyalg RSA
:指定密钥的算法为 RSA。-keysize 2048
:指定密钥的长度为 2048 位。-validity 10000
:证书的有效期限,单位为天。
在运行命令时,会要求输入密钥库密码、密钥密码、姓名、组织单位、组织等信息。请按照提示逐步填写这些信息,完成后会生成一个密钥库文件,其中包含了你的密钥对。
请注意,在实际使用时,请替换命令中的 your_keystore_name.keystore
和 your_alias_name
为你自定义的名称,并按照提示输入相应的信息。密钥库文件和别名在以后的应用签名中都非常重要,请妥善保管好对应的密码和文件。
执行签名
使用apksigner,需要在java中找到相关进程使用。
./apksigner verify -v xxx.apk #查看apk签名信息
apksigner sign -verbose --ks 「jks文件路径」 --v1-signing-enabled [true/false v1打包开启/关闭] --v2-signing-enabled [true/false v2打包开启/关闭] -ks-key-alias [jks别名 key-alias] --ks-pass pass: [jks密码,key store password] --key-pass pass:[密码] #进行签名
apksigner sign --ks [your_keystore.keystore] --ks-key-alias [key_alias] --ks-pass pass:[your_keystore_password] --out [signed.apk] [input.apk] --key-pass pass:[密码] --v1-signing-enabled [true/false v1打包开启/关闭] --v2-signing-enabled [true/false v2打包开启/关闭] #进行签名