Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android X:tools:replace在第:行为属性指定,但未指定新值_Java_Android_Android Gradle Plugin_Android Manifest_Androidx - Fatal编程技术网

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

Java Android X:tools:replace在第:行为属性指定,但未指定新值,java,android,android-gradle-plugin,android-manifest,androidx,Java,Android,Android Gradle Plugin,Android Manifest,Androidx,我在这个网站上尝试了很多解决方案,但问题仍然没有解决。这个问题是由于Android X库造成的。当我添加安卓X时,这个问题得到了解决,但它带来了新的问题。如何解决这个问题 早些时候,出现了以下错误: Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:suppo

我在这个网站上尝试了很多解决方案,但问题仍然没有解决。这个问题是由于Android X库造成的。当我添加安卓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.
合并错误(在Android清单中):

错误:在第2行为属性指定了工具:替换 android:appComponentFactory,但没有为app main指定新值 清单(此文件),第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 libs

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

android.useAndroidX=true
android.enableJetifier=true
android.useAndroidX=true
android.enableJetifier=true
从清单中删除
tools:replace=“android:appComponentFactory”

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

您可以尝试添加:

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

到您清单中的标签。

我在项目中遇到了相同的错误,我已经解决了 你可以试试

Android Studio>重构>迁移到AndroidX


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

还原了依赖项更新,错误消失了


最新的Firebase和Play服务依赖项似乎与androidx兼容,这通常是因为您同时使用了androidx库和支持库。一些第三方库可能包含支持库,而其他第三方库可能包含Androidx库,这也可能导致此问题。如果您的电脑中有gradle环境,请尝试在Android Studio终端中的“gradlew:app:dependencies”命令,该命令将列出所有库,包括项目的第三方库,并查看哪个库或框架使用了Androidx库,哪些没有。然后尝试升级旧的支持库,这个问题应该会消失

在我的例子中,我面临的问题是因为我使用的firebase版本。 降级firebase版本对我有帮助

实现'com.crashlytics.sdk.android:crashlytics:2.10.1' 实现'com.google.firebase:firebase核心:16.0.6'


您只需将此代码添加到gradle.properties文件中即可

android.useAndroidX=true
android.enableJetifier=true
android.useAndroidX=true
android.enableJetifier=true

我在
标记中添加了以下行

tools:replace=“android:appComponentFactory”
android:appComponentFactory=“android.support.v4.app.CoreComponentFactory”

gradle.properties文件中的以下行

  android.useAndroidX=true
  android.enableJetifier=true
android.useAndroidX=true
android.enableJetifier=true

重建项目。

迁移到android x

在标记内添加以下行

    tools:replace="android:appComponentFactory"
    android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
然后在gradle.properties文件中添加以下行

  android.useAndroidX=true
  android.enableJetifier=true

重建您的项目。

这不是一个好的解决方案,因为它迫使您使用API级别28或更高的Hanks,这对我来说是可行的,但即使在生产中也可以继续使用它?您是否检查过这个答案:您是否使用firebase?如果是,最新版本在android X上,因此error@Ggriffo不,我没有使用Firebase。当我的项目没有迁移到androidX时,我遇到了这个错误&我尝试同步CameraX库。迁移后一切正常。我应该在哪里替换android.support.v7.app.AppCompatActivity?@Lucky_girl您必须使用
android.support.v7.app.AppCompatActivity
。这意味着您必须已创建此活动的子活动。将它们替换为
androidx.appcompat.app.AppCompatActivity
我执行了所有相同的操作,但收到以下错误:
清单合并失败:属性application@appComponentFactoryAndroidManifest.xml:26:9-53中的value=(whateverString)也出现在[androidx.core:core:1.0.0]AndroidManifest.xml:22:18-86 value中=(androidx.core.app.CoreComponentFactory)。建议:添加'tools:replace=“android:appComponentFactory”'要覆盖AndroidManifest.xml:23:5-149:19中的元素。
@AliAkram当您的应用程序(未为AndroidX配置)使用实际使用AndroidX的库时会发生这种情况。您应该做的是查看库的发布历史,看看在库切换到AndroidX之前是否有发布。最后为自己编写一份工作项目将你的应用程序转换为AndroidX-这可能需要相当长的时间,具体取决于项目的大小。不,它会自动修复所有导入内容。这有什么帮助?我在项目中没有此文件。我有一个3或4年的应用程序,正在尝试将其设置创建一个新项目,并将所有旧文件复制到新项目中