2017-07-12 29 views
1

我們的團隊通過Crashlytics分發測試版本,我們大多數人的手機上都安裝了生產版本。我們無法在不移除生產應用程序的情況下安裝測試版本。 (這兩個構建有不同的applicationID,如: PROD:com.abc 測試:com.abc.beta如果存在生產版本,則不會安裝用於Android的Crashlytics Beta版本:'該軟件包與現有軟件包同名'

我們嘗試使用相同的密鑰庫(如生產)以及一個不同的簽署公測的身材,但它不會改變任何東西。

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

回答

1

經過一段時間的調查後,感謝來自Fabric團隊的幫助,我設法找到了問題並解決問題。

使用adb logcat,我已經找到了失敗的根本錯誤:

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

看來,測試版應用程序試圖寫至由生產建設擁有相同的權限文件。爲了避免這種情況,我編輯AndroidManifest.xml如下:

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

因此,在測試應用都有自己的許可文件夾寫入。

希望這可以幫助那裏的人!

0

邁克從織物這裏。 Apple限制只允許Testflight或移動設備管理器安裝具有相同捆綁ID的應用程序,因此如果捆綁ID相同,則無法安裝從App Store安裝的版本。例如,您無法在App Store生產版本上安裝應用的測試版本。

+0

感謝您的迴應,但這不是我要問的。首先,我們對於生產和測試版本有不同的捆綁ID,目前在iOS上安裝都沒有問題。然而,我們不能在Android上做同樣的事情。我們不想安裝測試版本,只是希望它們分別安裝在同一臺設備上。這有什麼可能實現的嗎? – tropicalfish

+0

對不起,我是OOO。您有不同的軟件包名稱,而且您無法安裝適用於Android的測試版本?這應該沒問題,所以如果是這樣的話,電子郵件支持(at)fabric(dot)io,這樣我們可以在安裝失敗時查看來自Logcat的一些日誌。 –

相關問題