公司在谷歌上線了安卓版本后,迎來了一次版本強(qiáng)制升級(jí)。升級(jí)是從應(yīng)用內(nèi)部提示更新然后從文件服務(wù)器下載安裝包進(jìn)行安裝。看似很簡(jiǎn)單也很常規(guī)的一件事,但是后來得到技術(shù)支持同事反饋多個(gè)用戶無法正常安裝新版APP。收到反饋后,我么開始復(fù)現(xiàn)問題,由于國內(nèi)訪問google play比較麻煩以及一開始沒有想到是谷歌二次簽名問題,和測(cè)試同事并沒有從谷歌商店下載舊版,所以幾經(jīng)周折也沒有復(fù)現(xiàn)這個(gè)問題。當(dāng)時(shí)主要從以下幾方面入手:
1.舊版與新版簽名不一致(由于認(rèn)為一直用的都是同一個(gè)jks文件打包,所以此原因首先被排除)
2.新版比舊版versionCode低(檢查代碼后排除)
3.引用了部分庫FileProvider沖突(通過查看git提交日志,沒有在新版迭代期間加入庫,此原因也排除)
后來通過各種谷歌百度終于找到問題所在,Google Play對(duì)所上架的APP默認(rèn)選擇了二次簽名,也就是和自己維護(hù)的jks簽名是沖突的。下面說一下如何去除二次簽名保持和自己的一致以及如何在發(fā)布第一版時(shí)就不使用谷歌二次簽名。
一.已使用谷歌簽名的如何去除,保持與自身簽名一致
這位博主寫的比較詳細(xì),當(dāng)時(shí)也是參考了他的內(nèi)容。
https://blog.csdn.net/weixin_39170886/article/details/107062668
二.新發(fā)布的應(yīng)用如何直接選擇自身簽名
1.首先在自己新建的APP下選擇 App integrity發(fā)布版本
2.在發(fā)布版本時(shí)選擇Manage app signing
3.下面就和上面文章中的操作步驟一致了
https://blog.csdn.net/weixin_39170886/article/details/107062668
現(xiàn)在想想當(dāng)時(shí)一開始就排除簽名問題確實(shí)挺蠢的,看似最不應(yīng)該出現(xiàn)的問題很有可能就是問題所在,也給自己以后處理問題提個(gè)醒~