Android X: tools:replace specified at line: for attribute, but no new value specified(Android X:tools:replace 在 line:for 属性中指定,但没有指定新值)
问题描述
我在这个网站上尝试了很多解决方案,但问题仍然没有解决.问题是由于 Android X 库造成的.当我添加 Android X 时,这个问题得到了解决,但它打开了新问题.如何解决这个问题?
I have tried many solutions on this website but still, the problem is not solved. The issue is due to Android X library. When I added Android X, this issue was resolved but it opened up new issue. How to fix this issue?
之前这个错误出现了:
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"
后,出现了这个错误:
After I added tools:replace="android:appComponentFactory"
, this error is came:
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 清单中):
Merging Error (in Android Manifest):
错误:工具:替换在第 2 行指定的属性android:appComponentFactory,但没有指定新值 app main清单(此文件),第 1 行
Error: tools:replace specified at line:2 for attribute android: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: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">
...
推荐答案
我认为您正在迁移到 AndroidX 库.
I think you are migrating to AndroidX libs.
将下面的行添加到 gradle.properties 文件
Add below lines to gradle.properties file
android.useAndroidX=true
android.enableJetifier=true
从清单中删除 tools:replace="android:appComponentFactory"
.
将 android.support.v7.app.AppCompatActivity
替换为 androidx.appcompat.app.AppCompatActivity
迁移到 AndroidX
这篇关于Android X:tools:replace 在 line:for 属性中指定,但没有指定新值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android X:tools:replace 在 line:for 属性中指定,但没有指定新值
基础教程推荐
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 降序排序:Java Map 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01