解决Manifest merger failed with multiple errors, see logs问题
2024-01-10 15:25:25
michael007js
120
解决Manifest merger failed with multiple errors, see logs问题
【低危】Manifest不安全属性配置风险 详细内容:
以下结点设置可被外部调用导致敏感信息泄露.
android:allowBackup="true"
修复建议:
allowBackup和debuggable属性设置存在敏感信息泄露,建议android:debuggable和android:allowBackup设置为false
于是就赶紧去改成了
android:allowBackup="false"
编译后发现在错误如下:
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
最无语的是没有其它任何有用的东西
解决方法如下:
按快捷键alt+F12打开Termial窗口,输入
gradlew processDebugManifest --stacktrace
首次执行会下载很多东西,下载完成后会看到更多错误日志如下:
E:\AndroidStudioProjects\byd_c\app\src\main\AndroidManifest.xml:29:5-66 Warning:
Element uses-permission#android.permission.INTERNET at AndroidManifest.xml:29:5-66 duplicated with element declared at AndroidManifest.xml:5:5-66
E:\AndroidStudioProjects\byd_c\app\src\main\AndroidManifest.xml:224:9-226:39 Warning:
Element uses-library#org.simalliance.openmobileapi at AndroidManifest.xml:224:9-226:39 duplicated with element declared at AndroidManifest.xml:177:9-179:39
E:\AndroidStudioProjects\byd_c\app\src\main\AndroidManifest.xml:51:9-36 Error:
Attribute application@allowBackup value=(false) from AndroidManifest.xml:51:9-36
is also present at [com.othershe:BaseAdapter:1.1.3] AndroidManifest.xml:12:9-35 value=(true).
Suggestion: add 'tools:replace="android:allowBackup"' to element at AndroidManifest.xml:49:5-341:19 to override.
这下可以看出来是什么原因了,解决办法也给我们说了
首先加上命名空间
xmlns:tools="http://schemas.android.com/tools"
再加上下面一行
tools:replace="android:allowBackup"
就可以解决了。
如果上面方法不能解决,那可能是下面的问题:
由于Library与主项目配置了相同属性引起了冲突,icon,theme,label等.
解决方法:
在manifest标签下加入xmlns:tools=”http://schemas.android.com/tools”,
在application标签下加入tools:replace=”icon,label,theme”属性.取代这些冲突属性.
错误2:
由于Library清单文件中minSdkVersion的版本与主项目不同而引起此错误,只需更改为相同的版本即可
解决方法:
在manifest文件里面添加<uses-sdk tools:overrideLibrary="类库包名"/>