尝试将自己的徽标添加到Android应用程序 - Android Studio时,清单合并失败

时间:2014-07-08 06:34:43

标签: android android-studio icons android-manifest

我尝试在Android Studio中将自己的图标添加到我的应用中,但我遇到了Manifest合并失败。我提出了一个相同的问题here,但他的答案对我不起作用。我尝试添加tools:replace="android:icon"tools:replace="android:icon,android:theme"(当然在两个不同的场合),但没有变化。

这是Android Studio一直给我的错误。

Error:(12, 9) Execution failed for task ':app:processDebugManifest'.

> Manifest merger failed : Attribute application@icon value=(@drawable/footynews_logo_new) from AndroidManifest.xml:12:9
    is also present at com.arasthel:gnavdrawer-library:1.1.4:4:45 value=(@drawable/ic_launcher)
    Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:9:5 to override
Error:(12, 9) Attribute application@icon value=(@drawable/footynews_logo_new) from AndroidManifest.xml:12:9
编辑:我刚发现即使我认为应用程序在我的项目目录中使用了ic_launcher,它实际上是在我正在使用的一个库中使用ic_launcher。如何强制应用程序使用我的启动器图标?

2 个答案:

答案 0 :(得分:19)

tools:replace="android:icon,android:theme"

应该有效。希望你添加

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

如果这不起作用,您还有其他选择。使用旧的清单合并。将其添加到build.gradle文件

android { useOldManifestMerger true }

您可以找到更多信息here

答案 1 :(得分:5)

在清单文件中添加两行:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="..."
    xmlns:tools="http://schemas.android.com/tools"> <!--Add this line-->

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        tools:replace="icon, label"/> <!--Add this line-->
</manifest>