mac平台: android打包及签名流程

生成签名文件(jks)

keytool -genkey -v -keystore jason-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias jasonkey -storepass 1234

*  jason-release-key.jks , 这个是生成jks的名字
* -validity 10000 , 中的10000,单位是天
* jasonkey 是别名
* 1234 , 是你的密码
  • 姓名组织那些自己填, 生成后是 jason-release-key.jks

  • 生成后会提示:
    JKS 密钥库使用专用格式。建议使用 keytool -importkeystore -srckeystore jason-release-key.jks -destkeystore jason-release-key.jks -deststoretype pkcs12 迁移到行业标准格式 PKCS12。

请执行

keytool -importkeystore -srckeystore jason-release-key.jks -destkeystore jason-release-key.jks -deststoretype pkcs12
  • 执行结果:Warning: 已将 "jason-release-key.jks" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "jason-release-key.jks.old" 进行了备份。
  • jason-release-key.jks.old 不用了, 用jason-release-key.jks

build 未签名的release apk

  • 在android studio 左下角选择 : Build Variants , 选择 release
  • android studio -> Build -> Build bundle(s) / APK(s) , build 完成后, 用到未签名的apk : app-release-unsigned.apk

签名APK

  • 将app-release-unsigned.apk拷贝到与生成的jason-release-key.jks同一目录下, 执行
jarsigner -verbose -keystore jason-release-key.jks -signedjar new-signed.apk app-release-unsigned.apk jasonkey
* jasonkey 是生成jks 的别名
* new-signed.apk 就是生成的apk 的名字
* app-release-unsigned.apk , 是你要签名apk 的名字
* 回车后输入密码, 就得到new-signed.apk了
* 签名完成后会提示没有时间戳,忽略即可, new-signed.apk会比原来未被签名的apk文件大一点

也可以加上密碼
jarsigner -verbose -keystore jason-release-key.jks -storepass {storepass} -keypass {keypass} -signedjar new-signed.apk app-release-unsigned.apk jasonkey

  • -storepass 後面是 storepass (當初創建jks 時填的)

  • -keypass 後面跟密碼 (當初創建jks 時填的)

  • 官方:獲取簽名文件

你可能感兴趣的:(mac平台: android打包及签名流程)