清單合併錯誤:重複屬性application@appComponentFactory
在提供的Android 項目中,您遇到以下錯誤:
ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:9:5-44:19 to override.
此錯誤表示您的Android 清單中定義了重複的application@appComponentFactory 屬性,導致清單合併失敗。具體來說,兩個不同的函式庫(androidx.core 和 com.android.support)都聲明了此屬性。
解決方案:
要解決此問題,您有兩個方法選項:
1。完全遷移到 AndroidX
將整個專案移轉到 AndroidX 函式庫,將所有支援庫替換為 androidx 對應函式庫。這涉及到進行以下更改:
範例:
<code class="gradle">implementation "androidx.appcompat:appcompat:1.1.0" implementation "androidx.constraintlayout:constraintlayout:1.1.3"</code>
2.降級Firebase 依賴項
2.降級Firebase 依賴項
或者您可以將Firebase依賴項降級到不需要AndroidX 函式庫的版本。然而,這不是一個長期的解決方案,因為 Firebase 正在積極遷移到 AndroidX。
<code class="gradle">implementation "com.google.firebase:firebase-messaging:17.3.4"</code>範例:
以上是如何解決 Android 中的「清單合併錯誤:重複屬性 application@appComponentFactory」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!