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

生成签名APK时遇AAPT2异常及mergeReleaseResources任务失败求助

解决签名APK构建时mergeReleaseResources失败的问题

我之前也碰到过一模一样的情况——普通调试构建、真机/虚拟机安装都没问题,偏偏打签名包就卡在资源合并这一步。给你几个亲测有效的排查和解决方向:

  • 先清理缓存再重新构建
    先在终端执行./gradlew clean(Windows系统用gradlew clean),彻底清理项目缓存后再尝试生成签名APK。很多时候是debug构建的缓存资源和release构建冲突,清理后就能解决大部分资源合并异常。

  • 排查Release专属的资源配置
    检查这几个点:

    • res目录下有没有大小写不一致的资源文件(比如Icon.png和icon.png,Windows不区分大小写,但打包时的Linux环境会识别为两个文件导致冲突);
    • 有没有只在debug资源目录存在、但release目录缺失的资源(比如某些测试用的drawable或字符串);
    • 打开模块级build.gradle,看看release构建是否开启了资源压缩,临时把shrinkResources设为false试试:
      android {
          buildTypes {
              release {
                  shrinkResources false // 先关闭资源压缩测试
                  minifyEnabled true
                  proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
              }
          }
      }
      
      如果关闭后能正常打包,再逐步排查哪些资源被误判定为无用资源。
  • 检查资源文件本身的完整性
    看看最近新增的资源有没有问题:比如损坏的图片文件、XML布局里引用了不存在的drawable、或者WebP格式资源在旧Gradle版本里的兼容问题。可以尝试删除或替换最近添加的资源,验证是否能解决问题。

  • 升级Gradle和Android Gradle Plugin版本
    旧版本的插件可能存在资源合并的已知bug,打开项目级build.gradle,把插件和Gradle版本升级到最新稳定版,比如:

    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // 替换为当前最新稳定版
    }
    

    同步项目后再尝试打包。

  • 查看完整错误日志定位根源
    你提供的日志是截断的,建议在终端执行./gradlew assembleRelease(Windows用gradlew assembleRelease),这样能看到完整的错误堆栈,里面会明确指出是哪个资源导致的合并失败(比如重复资源、资源引用不存在等),这是最快定位问题的方法。

内容的提问来源于stack exchange,提问作者Akram Bichri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:49:11