Android X: tools:replace at line: for attribute,但未指定新值

新手上路,请多包涵

我在这个网站上尝试了很多解决方案,但问题仍然没有解决。问题是由于 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 行

显现:

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

原文由 Malwinder Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 763
1 个回答

我认为您正在迁移到 AndroidX 库。

将以下行添加到 gradle.properties 文件

android.useAndroidX=true
android.enableJetifier=true

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

在活动中将导入从 android.support.v7.app.AppCompatActivity 替换为 androidx.appcompat.app.AppCompatActivity 。在项目中使用替换来加快重构过程。

迁移到 AndroidX

原文由 Akshay 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题