1、上傳安裝包失敗,提示「無法獲取簽名信息,請上傳有效包(110506)」。
安裝包是通過 Android Studio 中的 Build ---> Generate Signed APK... 打包的,選擇的是 release 版本。所以,是簽過名的。那么,怎么還會出現(xiàn)這種問題呢?
經(jīng)過搜索得知 Android Studio 在 2.2 版本新增了打包簽名應(yīng)用時(shí)擇取 V1 或者 V2 的選項(xiàng),如圖:
V1 是之前版本的打包簽名方式,V2 是從 Android 7.0 開始引入的新簽名方案。
在安卓官網(wǎng)的文檔里,有這樣一段話:
注意:如果您使用 APK Signature Scheme v2 簽署您的應(yīng)用,并對應(yīng)用進(jìn)行了進(jìn)一步更改,則應(yīng)用的簽名將無效。出于這個(gè)原因,請?jiān)谑褂?APK Signature Scheme v2 簽署您的應(yīng)用之前、而非之后使用 zipalign 等工具。
而我在打包時(shí)只勾選了 V2, 故上傳安裝包時(shí)遇到了無法獲取簽名信息的問題。
如何解決呢?很簡單,把 V1 和 V2 都勾上就可以了。
2、安裝包上傳完進(jìn)行加固,加固后提示需重新簽名,之前的簽名信息因不可抗因素已失效。
唔,這個(gè)問題可如何解決是好?Android Studio 并未提供對未簽名的 APK 進(jìn)行直接簽名的功能啊。
解決方案在《第一行代碼·第二版》里找到了。
在 terminal 里按照以下格式輸入簽名命令(將 [ ] 中的描述替換成 keystore 的具體信息,注意不要加上 [ ] 符號):
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystore 文件路徑] -storepass [keystore 文件密碼] [待簽名 APK 路徑] [keystore 文件別名]
最后說一句:提交后的審核期為24小時(shí)。也就是說,明日此時(shí)就可知道這個(gè) APP 是否能在應(yīng)用寶下載了。期待ing...如果審核通過,后續(xù)會寫一篇關(guān)于這個(gè) APP 的文章。