我們正在嘗試將我們的系統更新爲最新的Android Studio/Gradle工具,並且在途中遇到了一些錯誤。當2個圖書館想要使用相同的權限時,Manifest Merger失敗
我們有2個使用permission.C2D_MESSAGE的庫,即Firebase和XtremePush。問題是,只要我們想構建我們的應用程序,Manifest Merger的構建失敗,因爲他無法完成合並,出現錯誤「找不到記錄(這是合併清單中的錯誤)。 」。
當我們觀察到的問題,我們發現了以下定義:
火力地堡
<permission android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE"/>
XtremePush
<permission
android:name=".permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name=".permission.C2D_MESSAGE" />
由於這兩個定義外部庫,我們是不是可以設置合併規則或更改清單細節。而且,這兩個庫都是最新的,所以似乎在各自的開發者方面都沒有解決方案。在我們的清單中設置權限也沒有改變任何東西。
非常感謝!
「我們無法設置合併規則或更改清單細節」 - 在您自己的清單中定義元素並使用'tools:overrideLibrary',IIRC。 – CommonsWare
現在這兩個屬性(權限和使用權限)是正確的根目錄-標誌,我沒有-標誌,除了facebook庫。我可以用庫的包名創建另一個,並在那裏添加overrideLibrary? –
Essi
您可以在清單中放入''和''元素,並根據需要進行配置,並在這些元素中包含'tools:overrideLibrary'。然後希望最好。 –
CommonsWare