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.

解决方法

  1. 将依赖库中清单文件,引用的依赖库的清单文件中的,冲突部分删除掉,我这里主要删除了,删除过后,编译正常,程序编译通过
  2. 根据IDE提示修改,首先在项目的清单文件的根标签下引入xmlns:tools="http://schemas.android.com/tools",注意不是依赖库的的清单文件里,已测试不可行,之后在application里的标签里加入tools:replace="android:icon"之后重新build,即可通过编译,theme问题同样这样解决:tools:replace=”android:icon, android:theme”,如下:


更多相关文章

  1. Android(安卓)环境搭建
  2. Android(安卓)NDK初识
  3. 利用Android(安卓)Studio、MAT对Android进行内存泄漏检测
  4. 通过ant脚本,编译打包android工程
  5. Android软件安装工具-APK安装器
  6. android中如何执行java命令
  7. android 手机logo 的设置
  8. Android文件读写实例代码
  9. NPM 和webpack 的基础使用

随机推荐

  1. Java/Android引用类型及其使用分析
  2. Android(安卓)onTouchEvent, onClick及on
  3. Android(安卓)Studio 学习实例记录-手电
  4. Android使用ADB启动应用程序
  5. Android(安卓)面试准备
  6. android Vibrator开启振动功能
  7. Android(安卓)Configuration
  8. Android干坏事——禁止设备休眠
  9. 升级Android(安卓)SDK Tools以及Android(
  10. Android传感器开发(下)