マニフェスト マージャー エラー: 属性の重複 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 属性が定義されており、マニフェストのマージが失敗することを示しています。具体的には、2 つの異なるライブラリ (androidx.core と com.android.support) が両方ともこの属性を宣言しています。
解決策:
この問題を解決するには、次の 2 つの方法があります。オプション:
1. AndroidX への完全移行
プロジェクト全体を AndroidX ライブラリに移行し、すべてのサポート ライブラリを androidx の対応するライブラリに置き換えます。これには、次の変更が含まれます:
例:
<code class="gradle">implementation "androidx.appcompat:appcompat:1.1.0" implementation "androidx.constraintlayout:constraintlayout:1.1.3"</code>
2. Firebase の依存関係をダウングレードします
または、Firebase の依存関係を AndroidX ライブラリを必要としないバージョンにダウングレードすることもできます。ただし、Firebase は AndroidX に積極的に移行しているため、これは長期的な解決策ではありません。
例:
<code class="gradle">implementation "com.google.firebase:firebase-messaging:17.3.4"</code>
追加メモ:
以上がAndroid で「マニフェスト マージャー エラー: 属性の重複 application@appComponentFactory」を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。