Ionic 3 Android Failed Build Manifest 合并失败

Posted

技术标签:

【中文标题】Ionic 3 Android Failed Build Manifest 合并失败【英文标题】:Ionic 3 Android Failed Build Manifest merger failed 【发布时间】:2020-01-03 00:08:37 【问题描述】:

我检查了许多帖子和 Github 问题,但仍然无法解决此构建错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app: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:5:5-36:19 to override.

我已尝试添加 cordova-android-support-gradle-release 和来自此 post 的其他解决方案以及在这些帖子中找到的其他 AndroidX 解决方案:

https://github.com/material-components/material-components-android/issues/193

Android Material and appcompat Manifest merger failed

无济于事。

我什至尝试将 Android Studio 更新到最新版本,并尝试了重构菜单中的 Migrate to AndroidX 选项。

最后,我还尝试使用 Cordova android@8@7.4.1 两者都有上述变化。

我会尝试按照上面的 Github 链接中的建议将以下内容添加到 gradle.properties 文件中,但是我在这个 Ionic 项目中没有其中之一:

android.useAndroidX=true
android.enableJetifier=true

如错误所示,我已将tools:replace="android:appComponentFactory" 添加到AndroidManifest.xml 内的应用程序标签中

BUILD FAILED in 4s
/Users/xxxxxxxxxx/Development/xxxxxxxxxx/mobile/platforms/android/gradlew: Command failed with exit code 1 Error output:
/Users/xxxxxxxxxx/Development/xxxxxxxxxx/mobile/platforms/android/app/src/main/AndroidManifest.xml:5:5-36:19 Error:
        tools:replace specified at line:5 for attribute android:appComponentFactory, but no new value specified
/Users/simontaylor/Development/Rehab Guru/mobile/platforms/android/app/src/main/AndroidManifest.xml Error:
        Validation failed, exiting

【问题讨论】:

【参考方案1】:

请将此行写入 AndroidManifest.xml 文件中的应用程序标签:tools:replace="android:appComponentFactory"

【讨论】:

这个已经试过了,只是又出现了一个错误。【参考方案2】:

在AndroidManifest文件的application标签中添加如下一行

tools:node="replace"

【讨论】:

这已经尝试过了,它只是提出了另一个错误。我已经完全受够了 Cordova,所以我已经转向了电容器。 我已将此添加到原始问题中。

以上是关于Ionic 3 Android Failed Build Manifest 合并失败的主要内容,如果未能解决你的问题,请参考以下文章

Ionic cordova compile failed for Android package 不存在

Error: failed to fetch platform android

ionic真机调试Android报错 - could not read ok from ADB Server * failed to start daemon * error: cannot conn

ionic cordova build android - 失败

ionic app开发遇到的问题

ionic报错: Failed to load resource