簡體   English   中英

如果生成構建存在,則無法安裝適用於Android的Crashlytics Beta版本:'該軟件包與現有軟件包沖突,名稱相同'

[英]Crashlytics Beta build for Android will not install if production build exists: 'The package conflicts with an existing package by the same name'

我們的團隊通過Crashlytics分發beta版本,我們大多數人都在手機上安裝了生產版本。 我們無法在不刪除生產應用的情況下安裝測試版。 (兩個版本都有不同的applicationId,如:prod: com.abc beta: com.abc.beta

我們嘗試使用相同的密鑰庫(作為生產),也使用不同的密鑰庫來簽署beta版本,但它不會改變任何內容。

有沒有辦法在同一設備上安裝beta版和生產版?

在對該問題進行了一段時間的調查之后,並且感謝Fabric團隊的幫助,我設法找到了問題,並找到了解決問題的方法。

使用adb logcat ,我發現了失敗的潛在錯誤:

Package attempting to redeclare permission com.abc.permission.C2D_MESSAGE already owned by 

看來beta應用程序正在嘗試寫入生產版本所擁有的同一權限文件。 為了避免這種情況,我按如下方式編輯了我的AndroidManifest.xml

<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" />

這樣beta應用程序就有自己的權限文件夾來寫入。

希望這有助於那里的人!

來自Fabric的Mike來自這里。 Apple限制只允許Testflight或移動設備管理器安裝具有相同軟件包ID的應用程序,因此如果軟件包ID相同,我們將無法安裝從App Store安裝的版本。 例如,您無法在App Store生產版本上安裝該應用程序的beta版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM