陆陆续续做了一个半月左右的「喵呜天气」终于在今天下午成功提交到应用商店(腾讯应用宝)。期间遇到两个小问题,记录如下:
1、上传安装包失败,提示「无法获取签名信息,请上传有效包(110506)」。
安装包是通过 Android Studio 中的 Build ---> Generate Signed APK... 打包的,选择的是 release 版本。所以,是签过名的。那么,怎么还会出现这种问题呢?
经过搜索得知 Android Studio 在 2.2 版本新增了打包签名应用时择取 V1 或者 V2 的选项,如图:
V1 是之前版本的打包签名方式,V2 是从 Android 7.0 开始引入的新签名方案。
在安卓官网的文档里,有这样一段话:
注意:如果您使用 APK Signature Scheme v2 签署您的应用,并对应用进行了进一步更改,则应用的签名将无效。出于这个原因,请在使用 APK Signature Scheme v2 签署您的应用之前、而非之后使用 zipalign 等工具。
而我在打包时只勾选了 V2, 故上传安装包时遇到了无法获取签名信息的问题。
如何解决呢?很简单,把 V1 和 V2 都勾上就可以了。
2、安装包上传完进行加固,加固后提示需重新签名,之前的签名信息因不可抗因素已失效。
唔,这个问题可如何解决是好?Android Studio 并未提供对未签名的 APK 进行直接签名的功能啊。
解决方案在《第一行代码·第二版》里找到了。
在 terminal 里按照以下格式输入签名命令(将 [ ] 中的描述替换成 keystore 的具体信息,注意不要加上 [ ] 符号):
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystore 文件路径] -storepass [keystore 文件密码] [待签名 APK 路径] [keystore 文件别名]
最后说一句:提交后的审核期为24小时。也就是说,明日此时就可知道这个 APP 是否能在应用宝下载了。期待ing...如果审核通过,后续会写一篇关于这个 APP 的文章。