生成 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.keystoreyour_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打包开启/关闭] #进行签名