web-dev-qa-db-ja.com

Android X:tools:replaceはline:属性で指定されていますが、新しい値は指定されていません

このウェブサイトで多くの解決策を試しましたが、それでも問題は解決しません。この問題は、Android Xライブラリが原因です。 Android Xを追加すると、この問題は解決されましたが、新しい問題が発生しました。この問題を修正するには?

以前、このエラーが発生していました。

Manifest merger failed : Attribute application@appComponentFactory value=(Android.support.v4.app.CoreComponentFactory) from [com.Android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="Android:appComponentFactory"' to <application> element at AndroidManifest.xml:19:5-142:19 to override.

tools:replace="Android:appComponentFactory"を追加すると、次のエラーが発生します。

 Java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
at com.Android.builder.core.AndroidBuilder.mergeManifestsForApplication(AndroidBuilder.Java:540)    
at com.Android.build.gradle.tasks.MergeManifests.doFullTaskAction(MergeManifests.Java:173)

マージエラー(Androidマニフェスト内):

エラー:tools:replaceは、Android:appComponentFactory属性のline:2で指定されていますが、アプリのメインマニフェスト(このファイル)で指定されている新しい値はありません、1行目

マニフェスト:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    package="com.example"
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    tools:replace="allowBackup, Android:appComponentFactory"
    Android:allowBackup="false">

    ...

    <application
        Android:name="com.example"
        Android:icon="@mipmap/icon"
        Android:debuggable="true"
        Android:hardwareAccelerated="false"
        Android:largeHeap="true"
        Android:supportsRtl="true"
        Android:theme="@style/AppTheme"
        Android:allowBackup="false"
        tools:ignore="GoogleAppIndexingWarning,HardcodedDebugMode">
       ...
41
Malwinder Singh

AndroidXライブラリに移行していると思います。

以下の行をgradle.propertiesファイルに追加します

Android.useAndroidX=true
Android.enableJetifier=true

マニフェストからtools:replace="Android:appComponentFactory"を削除します。

Android.support.v7.app.AppCompatActivityandroidx.appcompat.app.AppCompatActivityに置き換えます

AndroidXへの移行

55
Akshay

以下を追加してみてください:

Android:appComponentFactory="Android.support.v4.app.CoreComponentFactory"

マニフェストの<application >タグに。

25
Gabriel Aguirre

私のプロジェクトで同じエラーが発生しましたが、解決しました

Android Studio>リファクタリング> AndroidXへの移行

enter image description here

6
shailesh

私の場合、FirebaseとPlayサービスの依存関係を更新していたため、この問題が発生しました。

依存関係の更新を元に戻し、エラーが消えました

FirebaseとPlay Serviceの最新の依存関係はandroidxと互換性があるようです。

4
codepeaker

私の場合、使用しているFirebaseバージョンが原因で問題に直面していました。 Firebaseバージョンのダウングレードは私を助けました。

実装「com.crashlytics.sdk.Android:crashlytics:2.10.1」実装「com.google.firebase:firebase-core:16.0.6」

2
rishabh gupta

Androidxライブラリサポートライブラリを同時に使用したためによく起こりました。一部のサードパーティライブラリにはサポートライブラリが含まれる場合があり、他のサードパーティライブラリにはAndroidxライブラリが含まれる場合があり、これもこの問題を引き起こす可能性があります。 PCにgradle環境がある場合は、Android St​​udioのターミナルで「gradlew:app:dependencies」コマンドを試してください。このコマンドは、プロジェクトのサードパーティライブラリを含むすべてのライブラリを一覧表示し、どのライブラリを確認しますまたはフレームワークはAndroidxライブラリを使用しましたが、使用していません。次に、サポートライブラリを使用している古いライブラリをアップグレードしようとすると、この問題は解消されます。

1
komaki