2017-02-24 84 views
0

我正在開發現有應用程序的新版本。這是從頭開始完全重新設計的,所以我爲此更新創建了一個單獨的項目。現在,我需要測試從v2(舊版本)升級到v3(新版本)時應用程序的行爲。這兩個項目具有相同的applicationId,模塊名稱,並由相同的密鑰簽名。但是,當我安裝v2並隨後安裝v3時,舊應用程序不會被覆蓋;我結束了兩次安裝。我錯過了什麼導致Android將這些應用程序視爲獨特?Android:無法用新版本覆蓋現有應用程序

回答

1

如果具有相同的應用程序ID,則兩個APK不能同時安裝在設備上。模塊名稱無關緊要,不同的簽名密鑰只會強制完成卸載/重新安裝而不是更新。

仔細檢查您的應用程序ID是否有輕微錯別字。

另請檢查您的build.gradle中是否定義了applicationIdSuffix。添加諸如.debug之類的東西以調試構建是相當常見的,因此您可以在設備上安裝調試版本和發行版本。如果是這種情況,請確保您正在嘗試使用發佈版本進行升級。

您還可以在Toast中記錄(或顯示應用程序ID)以驗證它們是否與您期望的不同。只需撥打BuildConfig.APPLICATION_ID即可獲得當前的應用程序ID。

+0

你釘了它。我只是在其中一個項目中轉換了applicationId的兩個部分。謝謝! –

相關問題