有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android X:tools:replace在第:行为属性指定,但未指定新值

我在这个网站上尝试了很多解决方案,但问题仍然没有解决。这个问题是由于Android X库造成的。当我添加安卓X时,这个问题得到了解决,但它带来了新的问题。如何解决这个问题

早些时候,出现了以下错误:

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

在我添加了tools:replace="安卓:appComponentFactory"之后,出现了以下错误:

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

合并错误(在Android清单中):

Error: tools:replace specified at line:2 for attribute 安卓:appComponentFactory, but no new value specified app main manifest (this file), line 1

舱单:

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

    ...

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

共 (6) 个答案

  1. # 1 楼答案

    我的项目中也有同样的错误,我已经解决了 你可以试试

    安卓工作室>;重构>;迁移到AndroidX

    enter image description here

  2. # 2 楼答案

    我在<application>标记中添加了以下几行

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

    下面是格拉德尔内部的线条。属性文件

    android.useAndroidX=true android.enableJetifier=true

    重建你的项目

  3. # 3 楼答案

    这种情况经常发生,因为您同时使用了Androidx库支持库。一些第三方库可能包含支持库,而其他第三方库可能包含Androidx库,这也可能导致此问题。如果您的电脑中有gradle环境,请尝试在Android Studio的终端中使用“gradlew:app:dependencies”命令,该命令将列出所有库,包括项目的第三方库,并查看哪个库或框架使用了Androidx库,哪些没有。然后尝试升级旧的支持库,这个问题应该会消失

  4. # 4 楼答案

    我认为您正在迁移到AndroidX libs

    将下面的行添加到渐变。属性文件

    android.useAndroidX=true
    android.enableJetifier=true
    

    从清单中删除tools:replace="android:appComponentFactory"

    android.support.v7.app.AppCompatActivity替换为androidx.appcompat.app.AppCompatActivity

    Migrating to AndroidX

  5. # 5 楼答案

    在我的例子中,我更新了Firebase和play服务的依赖关系,导致了这个问题

    恢复了依赖项更新,错误消失了

    最新的Firebase和Play服务依赖项似乎与androidx兼容

  6. # 6 楼答案

    您可以尝试添加:

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

    到清单中的标签<application >