Error:Attribute application@icon value=(@drawable/ic_launcher)

本文详细解析了在Android开发中遇到的ManifestMerger错误,特别是当Library项目与主项目存在相同属性定义时引发的问题。通过具体的代码示例,展示了如何在AndroidManifest.xml文件中使用tools:replace属性来正确配置,避免编译错误。

今天在导入一个emoji的控件的时候提示Error:(14, 9) Attribute application@icon value=(@drawable/ic_launcher) from AndroidManifest.xml:14:9

百度了一下,这是一个编译的常见错误,主要是AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme),则此时会合并失败,并报上面的错误。

可惜看的那篇文章的解决方法讲的不清不楚,依然没有搞懂要怎么弄,于是找到另一篇文章中有完整的代码,一目了然。

注意修改的地方在于第2行的

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

和application最后一行的

tools:replace="android:icon, android:theme"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.leo.kang.demo"
    android:versionCode="1"
    android:versionName="1.0">
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        tools:replace="android:icon, android:theme">

AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"C:\\work\\WebView\\app\\src\\main\\res\\mipmap-anydpi-v26\\ic_launcher.xml","position":{"startLine":3}}],"original":"ERROR:C:\\work\\WebView\\app\\src\\main\\res\\mipmap-anydpi-v26\\ic_launcher.xml:4: AAPT: error: resource mipmap/ic_launcher_foreground (aka com.example.webview:mipmap/ic_launcher_foreground) not found.\n ","tool":"AAPT"} AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"C:\\work\\WebView\\app\\src\\main\\res\\mipmap-anydpi-v26\\ic_launcher_round.xml","position":{"startLine":3}}],"original":"ERROR:C:\\work\\WebView\\app\\src\\main\\res\\mipmap-anydpi-v26\\ic_launcher_round.xml:4: AAPT: error: resource mipmap/ic_launcher_foreground (aka com.example.webview:mipmap/ic_launcher_foreground) not found.\n ","tool":"AAPT"} FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugResources'. > A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction > Android resource linking failed ERROR:C:\work\WebView\app\src\main\res\mipmap-anydpi-v26\ic_launcher.xml:4: AAPT: error: resource mipmap/ic_launcher_foreground (aka com.example.webview:mipmap/ic_launcher_foreground) not found. ERROR:C:\work\WebView\app\src\main\res\mipmap-anydpi-v26\ic_launcher_round.xml:4: AAPT: error: resource mipmap/ic_launcher_foreground (aka com.example.webview:mipmap/ic_launcher_foreground) not found. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 1s 23 actionable tasks: 8 executed, 15 up-to-date
最新发布
11-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值