当前位置: 首页 > 知识库问答 >
问题:

在android应用程序中替换=“android:appComponentFactory”

吴弘壮
2023-03-14

我正在开发我的应用程序。一切都好,但我不知道为什么我得到了这个错误,当我试图运行的应用程序:

Execution failed for task ':inteligentestate:processDebugManifest'.
> 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:6:5-28:19 to override.

从错误建议我添加了工具:替换="android: appComponentFactory"在我的主要应用程序清单:

<application
    android:name=".application.App"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="GoogleAppIndexingWarning"
    tools:replace="android:appComponentFactory">

当我运行我的应用程序我得到了这个错误:

Task :inteligentestate:processDebugManifest FAILED
/mnt/main/Project/.../AndroidManifest.xml:6:5-29:19 Error:
    tools:replace specified at line:6 for attribute android:appComponentFactory, but no new value specified
/mnt/main/Tutorial/Android/project/.../AndroidManifest.xml Error:
    Validation failed, exiting

我在谷歌上搜索到了这篇文章。我没有使用androidX

这是我的项目依赖项:

dependencies {
    // Support
    implementation "com.android.support:design:${versions.supportLib}"
    implementation "com.android.support:recyclerview-v7:${versions.supportLib}"
    implementation "com.android.support:cardview-v7:${versions.supportLib}"
    implementation "com.android.support:gridlayout-v7:${versions.supportLib}"
    implementation "com.android.support:customtabs:${versions.supportLib}"

    // room
    implementation "android.arch.persistence.room:runtime:${versions.room}"
    annotationProcessor "android.arch.persistence.room:compiler:${versions.room}"
    implementation "android.arch.persistence.room:rxjava2:${versions.room}"

    // Network
    implementation "com.google.code.gson:gson:${versions.gson}"
    implementation "com.squareup.retrofit2:retrofit:${versions.retrofit}"
    implementation "com.squareup.retrofit2:converter-gson:${versions.retrofit}"
    implementation "com.squareup.okhttp3:logging-interceptor:${versions.interceptor}"

    //rx java
    implementation "io.reactivex.rxjava2:rxandroid:${versions.rxAndroidVersion}"
    implementation "io.reactivex.rxjava2:rxjava:${versions.rxJavaVersion}"

    //Other
    implementation "com.jakewharton.timber:timber:${versions.timber}"
    implementation "com.jakewharton:butterknife:${versions.butterknife}"
    annotationProcessor "com.jakewharton:butterknife-compiler:${versions.butterknife}"
    implementation "com.google.dagger:dagger:${versions.dagger}"
    annotationProcessor "com.google.dagger:dagger-compiler:${versions.dagger}"

    // Testing
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation project(path: ':map')
}

和库依赖:

dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api "com.android.support.constraint:constraint-layout:${versions.constraintLayout}"
    api "com.android.support:appcompat-v7:${versions.supportLib}"
    api "com.android.support:support-v4:${versions.supportLib}"

    // Mapbox
    api "com.mapbox.mapboxsdk:mapbox-android-sdk:${versions.mapboxMapSdk}"
    api "com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v7:${versions.mapboxPluginLocalization}"

我发现这篇文章Anber提到

项目具有同一库的不同版本

但我认为我的项目库是一样的!!!

共有3个答案

杜经艺
2023-03-14

请尝试降级您的gradle版本并重新启动Android studio

欧阳学真
2023-03-14

是的,很简单。

转到应用程序清单,在底部您将看到mergedManifest选项

导航到mergedManifest底部,它将告诉您发生了什么错误以及在什么文件中

再见。这主要是布局文件中的错误,这就是合并清单无法工作的原因

希望这样能解决你的错误!!!

林正平
2023-03-14

解决方案:Android Studio=

 类似资料:
  • 我正在尝试替换默认的android电话呼叫应用程序。更具体地说,我希望在每次执行呼叫操作时启动我的自定义电话呼叫屏幕。

  • 我有一个谷歌表单,在a列中,我需要用无替换按钮上的文本。该列在几个不同的行中具有需要保持不变的标题。我写了以下脚本: 当我尝试运行脚本时,会出现以下错误:数据中的行数与范围中的行数不匹配。数据有1,但范围有2。 我知道这与具有比其他行更多列的行有关,但不确定如何修复代码。

  • 我将我的< code>MainActivity类重命名为< code>DataActivity,并用IntelliJ IDEA添加了一个新的主活动类。我将< code>AndroidManifest.xml文件更改为以下内容: 我从手机中卸载了该应用程序并删除了编译器缓存。在安装时,我得到以下异常: 启动应用:com.example.DataTest/com.example.DataTest.Da

  • 我在android studio中建立了一个转换器,当我每次按转换按钮时,距离部分(activity)就会崩溃。该应用程序说,特定的activity已经停止工作,该应用程序回到主要的activity。在android studio中没有显示任何错误,我想我的问题可能是在使用旋转器中的int pos,但我不确定。这是我最后要完成的元素。请帮帮忙。下面是Java,后面是XML。 和xml null

  • 问题内容: 我的Android应用程序中有一个webview,但是当有人在站点中导航时,它会在新窗口中打开,我希望它停留在webview中。是否可以轻松地做到这一点?这是我活动中的代码: 问题答案: 您必须创建一个: 然后将其设置为如下所示:

  • 问题内容: 假设我有一个名为的课程。我可以使用它根据给定的逻辑生成名称。然后,我编写了一个类,该类使用一种向用户索要字母并根据其生成名称的方法。现在,我想更改类中的逻辑,并在不停止应用程序的情况下应用该特定更改。 我这样做是为了了解有关类加载器的更多信息,有人可以解释一些我必须学习的关键概念吗? 问题答案: 这是一个工作测试。每5秒钟Test.main()从文件系统重新加载test.Test1.c