Android工作室Gradle图标错误,清单合并

我一直看到这个消息,不知道如何解决这个问题。

Error:(43, 9) Attribute application@icon value=(@drawable/new_app_icon) from AndroidManifest.xml:43:9 is also present at com.github.erizet.signala:signala-longpolling:0.20:7:18 value=(@drawable/ic_launcher) Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:40:5 to override :OpenBook:processDebugManifest FAILED Error:Execution failed for task ':OpenBook:processDebugManifest'. > Manifest merger failed with multiple errors, see logs 

尝试添加android:replace="android:icon"即使我的图标我的清单。

我试图从库中删除android:icon="@drawable/ic_launcher ,但是当我从build

有任何想法吗 ?

这似乎是Gradle的主要合并工具的缺点。

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger

解决它通过添加到我的清单标记xmlns:tools="http://schemas.android.com/tools"

然后添加tools:replace="android:icon,android:theme"到应用程序标签

这告诉合并使用我的清单图标和主题,而不是其他库

希望它有助于感谢

我有同样的问题,我通过在mainfest文件的顶部添加xmlns:tools="http://schemas.android.com/tools"来修复它,并添加tools:replace="android:icon"喜欢

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" // add tools line here package="yourpackage"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" tools:replace="android:icon"> ///add this line ..... </application> </manifest> 

shimi_tap的答案就够了。 要记住的是只select你所需要的东西。 从{图标,名称,主题,标签}中进行select。 我添加了tools:replace="android:icon,android:theme" ,它不起作用。 我添加的tools:replace="android:icon,android:theme,android:label,android:name" ,它不起作用。 它工作时,我添加的tools:replace="android:icon,android:theme,android:label" 。 所以,找出清单文件中的冲突究竟是什么。

我也有同样的错误,只是这个代码解决了我的问题,我想分享给你:

Manifest.xml

  • 将这段代码添加到你的xml文件中:

    xmlns:tools="http://schemas.android.com/tools"

  • 然后补充说:

    tools:replace="android:icon,android:theme,android:label,android:name"对应用程序标记tools:replace="android:icon,android:theme,android:label,android:name"

当您的应用程序的minSdk高于任何库的minSdk时,也会发生此错误。

 app's minSdk >= libraries minSdk 

在经历了很多时间之后得到了解决scheme

只需把你的ic_launcher粘贴到你的drawables文件夹中,

转到你的清单,并更改android:icon =“@ drawable / ic_launcher”

清理你的项目并重build

希望它可以帮助你

只需将xmlns:tools="http://schemas.android.com/tools"到您的清单标签即可。 然后你需要添加tools:replace="android:icon" __BEFORE__ android:icon="@mipmap/ic_launcher" 。 祝你好运! :d

出于某种原因,android studio不喜欢从可绘制文件夹调用应用程序图标。 所以在这种情况下,我在res文件夹下创build了mipmap资源目录。

右键单击res文件夹>新build> android资源目录>资源types:mipmap ,现在删除任何图标,然后将其引用到清单文件中。 分享这个,因为这个方法为我工作。

机器人:图标:@绘制/ ic_launcher”

机器人:图标= “@ mip映射/ ic_launcher”

如果没有这个工作,closuresAndroid Studio。 进入app / src / main,在文本编辑器(如sublime)中打开文件AndroidManifest.xml,删除/replace错误行,保存并重新打开android studio。

我有这个问题,将图标从drawable改为mipmap。

我只错过了这条线

tools:replace="android:icon"

在清单中。

Shimi_tap的答案是解决问题的正确方法。 如果你想使用旧的合并工具,你可以添加到build.gradle文件

android {useOldManifestMerger true}

当一个属性值包含一个占位符(见下面的格式)时,清单合并器将把这个占位符值与一个注入值交换。 注入值在build.gradle中指定。 占位符值的语法是$ {name},因为@是为链接保留的。 在最后一次文件合并发生之后,在生成合并的Android清单文件之前,带有占位符的所有值都将与注入的值交换。 如果variables名称未知,将会生成构build中断。

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-Build-error

对于我来说,更新Google Play服务后出现了这个问题。 我正在使用的一个图书馆使用“+”在其gradel引用中join了这个库,就像

compile 'com.google.android.gms:play-services:+'

这造成了一个问题,因为该库定位的最低版本低于当前版本的Google Play服务的目标版本。 我只是通过查看日志来发现这一点。

在您的.gradle更改MinSDK,例如:

  • build.gradle (模块:应用程序)
    • 之前: minSdkVersion 9
    • 之后: minSdkVersion 14

等等