0

任何人都可以告訴我如何在一臺設備上安裝不同版本的不同版本,而不會在PlayStore或AndroidStudio中收到「重複提供者」錯誤消息?如何以編程方式阻止「衝突的提供者」消息

我在我的應用程序中針對不同國家有不同的風味,並且在安裝其他應用程序之前總是卸載應用程序令人討厭。

我想:

productFlavors { 
    austria { 
     manifestPlaceholders = [ 
      // prevent "duplicate provider authority" message 
      providerAuthority: "com.example.app.at", 
     ] 
    } 
    germany { 
     manifestPlaceholders = [ 
      // prevent "duplicate provider authority" message 
      providerAuthority: "com.example.app.de", 
     ] 
    } 
    //... 
} 

,並在我的AndroidManifest我說:

android:authorities="${providerAuthority}" 

<application/> 

標籤。 這並不能解決我的問題。

我不使用ContentProvider的,所以我也嘗試添加一個存根ContentProvider類的項目,並宣佈機器人:當局=「$ {} providerAuthority」的

<provider/> 

標籤包括的名字裏面存根內容提供者 - >沒有成功。 我會很高興的一些其他的想法或更正。

UPDATE:

錯誤消息試圖在我的設備上安裝應用程序時,我從Android Studio中獲得。

this is the error message I get from Android Studio

+0

「我不使用的ContentProvider」 - 那麼具體是什麼給你這個例外? 「並在我的AndroidManifest中添加了」 - 如果您不使用「ContentProvider」,那麼您在哪裏添加了此屬性?您可能會考慮發佈安裝例外的整個堆棧跟蹤,這應該顯示在LogCat中。 – CommonsWare

+0

android:應該將權限添加到您的提供者標記中,請清除您的問題併發布您的manifest.xm的相關部分 – cyroxis

回答

0

我找到了解決辦法:

當我說我沒有一個供應商我撒謊了。我只是不再使用它。因此,我的問題的解決方案是在這裏(或者乾脆刪除未使用的提供者):https://stackoverflow.com/a/24850080/3734116

我終於意識到它通過查看我在生成/我所有的口味。在那裏我看到一個提供者總是擁有相同的權限。

另一個問題可能也受到了(但並不適用於我)

相關問題