You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android构建报错:执行:app:mergeDebugResources任务失败,求排查方案

解决:app:mergeDebugResources失败:SVG资源引用其他资源导致的PNG生成错误

你碰到的这个问题很常见——Android构建工具在将VectorDrawable(SVG格式)转换为PNG以兼容低版本系统时,不支持在SVG文件中直接引用其他资源(比如@color/endblue这种颜色资源引用),所以处理ic_email_black_24dp.xml时就报错了。下面给你几个可行的解决方案,按场景选择:

方案1:直接替换为十六进制颜色值(最简单通用)

打开你的ic_email_black_24dp.xml文件,找到包含android:fillColor="@color/endblue"的那一行,把@color/endblue替换成对应的十六进制颜色代码(比如你的endblue在colors.xml里是#0066CC,就改成android:fillColor="#0066CC")。

这样修改后,构建工具不需要解析资源引用,直接就能处理颜色值,完美避开这个转换限制。

方案2:针对API21+项目,禁用PNG转换

如果你的项目最低支持API21及以上(minSdkVersion >=21),可以直接让构建工具保留VectorDrawable格式,不用转PNG:

  1. 在VectorDrawable的根标签里添加tools:targetApi="21"属性,记得先引入tools命名空间:
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24"
        android:viewportHeight="24"
        tools:targetApi="21">
        <!-- 其他path内容 -->
        <path android:fillColor="@color/endblue" android:pathData="..." />
    </vector>
    
  2. 这样配置后,构建工具就不会把这个SVG转成PNG,自然支持资源引用了。

方案3:低版本兼容下保留资源引用

如果你的项目需要兼容API<21,又想保留@color引用,可以修改Gradle配置来调整PNG转换行为:

Groovy版(build.gradle)

android {
    defaultConfig {
        // 启用Support Library的VectorDrawable兼容
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        debug {
            // 禁止压缩xml资源,保留VectorDrawable原格式
            aaptOptions {
                noCompress 'xml'
            }
        }
    }
}

Kotlin版(build.gradle.kts)

android {
    defaultConfig {
        vectorDrawables {
            useSupportLibrary = true
        }
    }
    buildTypes {
        debug {
            aaptOptions {
                noCompress.add("xml")
            }
        }
    }
}

同时,记得在布局文件中使用AppCompatImageView配合app:srcCompat来加载这个VectorDrawable,确保低版本系统能正常显示。


内容的提问来源于stack exchange,提问作者hendra dedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:13:04