Suggestion: add 'tools:replace="android:icon"' to element

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


找了很多工具,都无法完成替换文件中的值并保留一部分值 (需要保留的值不定情况) ,所以博主 就写了个小工具分享出来. 本替换的利器,批量文本替换的不二之选,站长必备,挂马网页杀手,支持所有纯ANSI文件,支持GBK/Unicode/UTF8编码的htm、html、asp、java、php等文件,可自定义所支持的文件类型,支持16进制替换,支持单行和多行以及段落替换,支持特征替换和提取,支持正则替换,支持多规则同时替换并可以行导入规则,智能规则排序功能,支持多级目录、大小写匹配、支持备份和恢复,替换速度快。 1.完全绿色安装,单独的可执行文件,操作方便 2.段落文字的批量替换(整段文字的替换) 3.特征字符串之间的批量替换 4.对成对的特征字符串之间的字符提取功能的实现 可以提取批量的符合要求的指定特征字符串之间的 文字例如C程序中的/**/注释 5.提取方式可以选择,分为包括特征字符串和不包 括特征字符串,并且提取的文本可以进行保存 6.支持文件备份并且可以进行文件恢复操作 7.支持所有ANSI字符文本类型 8.快速的批量替换功能 使用示例: 索引方式替换 查找正则:(?<=)(.*)(?=) 替换正则:${0}-测试SEO Find结果: 6、Find:...index .txt 661 GB2312 6、Matched string:测试 Matched Count:6 对应键值替换 查找正则:(?<=)(?(.*))(?=) 替换正则:${title}-测试SEO Find结果: 6、Find:...index .txt 661 GB2312 6、Matched string:测试 Matched Count:6 其中?<= 表示 不包含开始标签, ?=表示不包含结束标签.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值