遇到的问题
游戏包上架360渠道,提示sha256签名的apk,低版本安卓机不能安装,须改为sha1签名。
网上教程很多,一通操作下来,安装运行,提示Error
Not enough storage space to install requiredresources.(我怀疑,重新签名后包体损坏了)
解决办法:就是升级项目的unity版本,我的是2018.4.9,升级到2019.4.3就正常运行。
详细步骤
1.打一个有签名的包
2.用360解压软件打开包体,删除掉里面的META-INF文件夹(这里面有三个文件,就是签名文件)
3.给apk替换签名(网上教程很多)
直接打开cmd窗口输入:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [签名密钥的文件路径] [已经删除签名文件夹的apk路径] 密钥别名
回车后输入密钥密码,等cmd窗口显示完成就ok(此时apk就是sha1签名的了)
4.检查apk是否是sha1签名:
用360压缩打开apk,在文件目录中找到签名文件夹(META-INF文件夹),用记事本打开.sf文件,全部显示sha1就是已经修改完成。
5.可能用到的命令:
------验证是否签名完毕
jarsigner -verify -verbose -certs [apk路径]
------优化包体(如果显示此命令既不是内部也不是外部命令,把安卓sdk中的zipalign。exe放入tools文件夹)
zipalign -v 4 [优化后包体路径] [优化前包体路径]
----------把.keystore转换为jks
keytool -importkeystore -srckeystore ~路径\xxx.keystore -destkeystore ~路径\xxx.jks -deststoretype pkcs12
----给未签名的apk签名
jarsigner -verbose -keystore ~路径\xxx.keystore -signedjar ~输出包体路径\xxx.apk ~未签名包体路径\xxx.apk [密钥别名]