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