刚刚更新到最新版本的Android Studio,我在AndroidManifest文件中收到此错误
清单合并失败:来自AndroidManifest.xml的属性应用程序@ icon value =(@ drawable / project_launcher_icon):48:9 也出现在com.github.anupcowkur:水库:1.1.1:6:45值=(@ drawable / ic_launcher) 建议:添加工具:replace =" icon"'到AndroidManifest.xml的元素:44:5覆盖
我尝试添加工具:replace =" @ drawable / ic_drawer"在我的清单中但我得到了这个错误:
Error:(44, 5) tools:replace specified at line:44 for attribute tools:drawable/ic_drawer, but no new value specified
有什么想法吗?
答案 0 :(得分:41)
遵循Android Studio的建议并添加以下属性tools:replace="icon"
应该允许它成功构建您的应用,而无需使用旧的清单合并(这不是一个非常具有前瞻性的解决方案确实)。
当然,您首先必须声明命名空间"工具"为了使用它:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.sample.app" >
答案 1 :(得分:9)
您应该添加tools:replace="icon"
,就像错误消息所示。
可以使用语法tools:replace="icon,name,theme"
答案 2 :(得分:9)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.tests.flavorlib.app"
**xmlns:tools="http://schemas.android.com/tools"**>
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
**tools:replace=”icon, label”**/>
</manifest>
你应该添加xlms:工具和工具:替换清单文件中的那两行。
答案 3 :(得分:4)
Android Studio 0.6使用新的清单合并工具。这个新合并是在插件版本0.10中引入的。从0.11开始,gradle插件默认使用此工具。
为了恢复旧的清单合并,请在build.gradle中添加以下配置:
android {
useOldManifestMerger true
}
答案 4 :(得分:4)
对我来说这很有用。尝试在主模块(项目)清单文件中添加代码:
添加
清单标记中的 xmlns:tools="http://schemas.android.com/tools"
添加
应用标记 tools:replace="android:icon,android:label,android:theme"
这些将让Android Studio知道要使用的图标,标签和主题来自该清单,而不是来自其他项目。