我在我的应用程序中使用了image-chooser-library,其中定义了android:icon所以我需要覆盖此属性以便gradle成功构建:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.sample.sample">
<application
android:icon="@drawable/icon"
tools:replace="icon"/>
</manifest>
但我仍然得到以下内容:
清单合并失败:来自AndroidManifest.xml的属性应用程序@ icon value =(@ drawable / icon):20:9 也出现在com.kbeanie:image-chooser-library:1.4.3:13:9 value =(@ drawable / ic_launcher) 建议:在AndroidManifest.xml中添加'tools:replace =“android:icon”'元素:15:5覆盖
有什么建议吗?
答案 0 :(得分:13)
我有同样的问题,因为它发生在多个构建机器上,当创建一个仅导致问题的库的测试项目时,一切正常,我怀疑清单合并工具中的一些错误。
我通过更改gradle文件中依赖项的顺序来修复它(导致问题的库是列表中的最后一个,我将它移到顶部)。
答案 1 :(得分:2)
您可以尝试在build.gradle文件中添加useOldManifestMerger true
(在android{}
标记中),但此功能将从1.0.0 gradle插件版本中删除。
或者将tools:replace="android:icon"
添加到AndroidManifest.xml
。 (警告:您应首先在xmlns:tools="http://schemas.android.com/tools"
代码中添加<manifest/>
)
有关清单合并的更多信息,您可以访问Official Document。
答案 2 :(得分:0)
我在我的清单上检查了它,它是
tools:replace="android:icon"
不只是"icon"