Suggestion: add 'tools:replace="android:icon"' to element
16lz
2022-01-06
Suggestion: add 'tools:replace="android:icon"' to element
背景:
今天在用Android Studio开发时,遇到一个问题,建了一个项目,依赖了一个自己写的库,在编译时报了这个错误,大致的原因是资源与库在清单文件里引用了相同的资源文件,Gradle插件默认会启用Manifest Merger Tool,就会发生冲突。
错误提示:
Error:Execution failed for task ':loggertest:processDebugManifest'. Manifest merger failed : Attribute application@icon value=(@mipmap/iclauncher) from AndroidManifest.xml:7:9-43 is also present at [TuringOSLoggerAPI:app:unspecified] AndroidManifest.xml:16:9-45 value=(@drawable/iclauncher). Suggestion: add 'tools:replace="android:icon"' to element at AndroidManifest.xml:5:5-18:19 to override.
解决方法
- 将依赖库中清单文件,引用的依赖库的清单文件中的,冲突部分删除掉,我这里主要删除了,删除过后,编译正常,程序编译通过
- 根据IDE提示修改,首先在项目的清单文件的根标签下引入xmlns:tools="http://schemas.android.com/tools",注意不是依赖库的的清单文件里,已测试不可行,之后在application里的标签里加入tools:replace="android:icon"之后重新build,即可通过编译,theme问题同样这样解决:tools:replace=”android:icon, android:theme”,如下:
更多相关文章
- Android(安卓)环境搭建
- Android(安卓)NDK初识
- 利用Android(安卓)Studio、MAT对Android进行内存泄漏检测
- 通过ant脚本,编译打包android工程
- Android软件安装工具-APK安装器
- android中如何执行java命令
- android 手机logo 的设置
- Android文件读写实例代码
- NPM 和webpack 的基础使用