Manifest merger failed : Attribute application@appComponentFactory value=() from AndroidManifest.xml:11:9-39 is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-22:19 to override.
时间: 2024-01-22 16:20:56 浏览: 589
这个错误是因为在你的AndroidManifest.xml文件中,有两个不同的库使用了相同的属性值 "appComponentFactory"。一个是你自己的AndroidManifest.xml文件,另一个是com.android.support:support-compat库中的AndroidManifest.xml文件。
为了解决这个问题,你需要在你自己的AndroidManifest.xml文件中添加一个 "tools:replace" 属性,如下所示:
```
<application
android:name=".MyApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
tools:replace="android:appComponentFactory">
// your activities and other components here
</application>
```
这样,当你构建应用程序时,Gradle将使用你在自己的AndroidManifest.xml文件中定义的 "appComponentFactory" 属性。
相关问题
Manifest merger failed : Attribute application@allowBackup value=(true) from AndroidManifest.xml:42:9-35 is also present at [oaid_sdk_1.2.1.aar] AndroidManifest.xml:33:18-45 value=(false). Suggestion: add 'tools:replace="android:allowBackup"' to <application> element at AndroidManifest.xml:40:5-95:19 to override.
这个错误是由于在你的AndroidManifest.xml文件中,你定义了`allowBackup`属性为`true`,但在`oaid_sdk_1.2.1.aar`库中的AndroidManifest.xml文件中,`allowBackup`属性被定义为`false`。这导致了合并清单文件时冲突。
要解决这个问题,你需要在你的`<application>`标签中添加一个`tools:replace="android:allowBackup"`属性,以便覆盖库中的定义。例如:
```
<application
...
tools:replace="android:allowBackup">
...
</application>
```
这样应该可以解决这个错误。
unity报错:D:\unity\wyw4\Temp\gradleOut\launcher\src\main\AndroidManifest.xml:48:9-34 Error: Attribute application@debuggable value=(true) from [:unityLibrary] AndroidManifest.xml:48:9-34 is also present at [:VuforiaWrapper:] AndroidManifest.xml:19:18-44 value=(false). Suggestion: add 'tools:replace="android:debuggable"' to <application> element at AndroidManifest.xml:5:3-7:17 to override. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':launcher:processReleaseManifest'. > Manifest merger failed : Attribute application@debuggable value=(true) from [:unityLibrary] AndroidManifest.xml:48:9-34 is also present at [:VuforiaWrapper:] AndroidManifest.xml:19:18-44 value=(false). Suggestion: add 'tools:replace="android:debuggable"' to <application> element at AndroidManifest.xml:5:3-7:17 to override. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 1s Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 UnityEngine.GUIUtility:ProcessEvent (int,intptr)
这个错误是由于在 Unity 项目中使用了 Vuforia 并且在 AndroidManifest.xml 文件中存在相同的 debuggable 属性的值,但其值不同。为解决此问题,可以在 AndroidManifest.xml 文件的 <application> 元素中添加 'tools:replace="android:debuggable"' 属性并将其设置为 true。具体来说,可以按照以下步骤来解决这个问题:
1. 在 Unity 编辑器中选择 File -> Build Settings。
2. 选择 Android 平台,然后单击 Player Settings。
3. 在 Inspector 窗口中,展开 Other Settings。
4. 找到渲染管线选项,并将它设置为 Legacy。
5. 单击 Build 按钮生成 APK 文件。
6. 打开生成的 AndroidManifest.xml 文件,并找到 <application> 元素。
7. 在 <application> 元素中添加 'tools:replace="android:debuggable"' 属性并将其设置为 true,示例如下:
```
<application android:debuggable="true" tools:replace="android:debuggable">
```
8. 保存并关闭 AndroidManifest.xml 文件。
9. 重新打包 APK 文件并尝试构建您的 Unity 项目。
希望这些步骤可以帮助您解决这个问题。
阅读全文