Android X: инструменты: заменить указанное в строке: для атрибута, но не указано новое значение - PullRequest
0 голосов
/ 12 ноября 2018

Я пробовал много решений на этом сайте, но проблема не решена. Проблема связана с библиотекой 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):

Ошибка: инструменты: заменить указанное в строке: 2 для атрибута android: appComponentFactory, но не указано новое значение манифест (этот файл), строка 1

Manifest:

<?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">
       ...

Ответы [ 6 ]

0 голосов
/ 23 июля 2019

В моем случае я столкнулся с проблемой из-за версии Firebase, которую я использовал. Понижение версии Firebase помогло мне.

реализация 'com.crashlytics.sdk.android:crashlytics:2.10.1' реализация 'com.google.firebase: firebase-core: 16.0.6'

0 голосов
/ 03 июля 2019

Это часто происходило потому, что вы одновременно использовали библиотеки Androidx и библиотеки поддержки .Некоторые сторонние библиотеки могут содержать библиотеки поддержки, а другие сторонние библиотеки могут содержать библиотеки Androidx, это также может привести к этой проблеме.Если на вашем ПК имеется среда gradle, попробуйте команду «gradlew: app: dependencies» в терминале Android Studio, эта команда выведет список всех библиотек, включая сторонние библиотеки вашего проекта, и выяснит, какая библиотека или инфраструктура использовали библиотеки Androidx ичто нет.Затем попробуйте обновить старые библиотеки, используя поддерживаемые библиотеки, и эта проблема должна исчезнуть.

0 голосов
/ 26 июня 2019

В моем случае я обновил зависимость от Firebase и сервисов воспроизведения, что привело к этой проблеме.

Отменены обновления обновлений и ошибка исчезла

Похоже, что последние зависимости Firebase и Play Service совместимы с androidx .

0 голосов
/ 25 апреля 2019

Я получил ту же ошибку в моем проекте, я решил ее Вы можете попробовать это

Android Studio> Рефакторинг> Миграция на AndroidX

enter image description here

0 голосов
/ 13 ноября 2018

Вы можете попробовать добавить:

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

К тегу <application > в вашем манифесте.

0 голосов
/ 13 ноября 2018

Я думаю, вы переходите на библиотеки AndroidX.

Добавьте следующие строки в gradle.properties file

android.useAndroidX=true
android.enableJetifier=true

Удалить tools:replace="android:appComponentFactory" из манифеста.

Заменить android.support.v7.app.AppCompatActivity на androidx.appcompat.app.AppCompatActivity

Миграция на AndroidX

...