先吐槽一句,AndroidStudio真心是我碰壁最多的软件,也不知道怎么这么多障碍找上我了。。。
用as打包apk网上有很多教程,比如这位博主提到的方法,也是最正常简单的方式。但是!
列举一下遇到的各种问题吧。
- JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore jhy-release-key.jks -destkeystore jhy-release-key.jks -deststoretype pkcs12” 迁移到行业标准格式 PKCS12
解决:我是没管这个warning的,因为我试了它提示的keytool命令,但是出现了getlength什么的新错误,所以干脆不改了。 - 使用以上链接中步骤打包后没有签名,提示jar not signed巴拉巴拉
解决:从这里开始我就没再用AS了,简直坑我。。就使用命令行的方式吧,轻松快捷:
在build完之后:(1)生成签名文件的命令:
keytool -genkey -v -keystore 签名文件.jks -keyalg RSA -keysize 2048 -validity 10000 -alias 别名(随便起但是要记住)
之后需要填一些信息,可以随便填但是至少要填一个才行。
(2)对build之后的apk进行签名:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件.jks 未签名APK.apk 别名(上面提到的那个)
(3)如果上一步签名失败提示:无法打开 jar 文件,就先看看选择签名的apk是否存在吧。。。
后面就签名成功了。以上解决方案来自于这里
检查是否签名成功的命令:jarsigner -verify my_signed.apk
分享一下我查到的解决方案们(虽然对我没作用):
V1(Jar Signature) V2(Full APK Signature)选项;
获取SHA1和MD5;
用AS打包签名(这个我没试)
来源:CSDN
作者:WindWaving
链接:https://blog.csdn.net/Wind_waving/article/details/103465732