You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

AAPT2编译异常求助:mergeReleaseResources任务执行失败

解决AAPT2编译错误的实用方案

兄弟,我之前也踩过AAPT2这个坑,结合你的compileSdkVersion 26buildToolsVersion "27.0.1"配置,还有你已经尝试gradle.properties设置的情况,给你几个实测有效的解决思路:

1. 补全gradle.properties的AAPT2禁用配置

你提到已经在gradle.properties里做了设置但没完整,直接把这两行完整加上:

android.enableAapt2=false
android.useDeprecatedNdk=true

这是最直接的临时解决办法,旧版本build tools搭配低版本compileSdk时,AAPT2的兼容性容易出问题,关闭它就能绕开这个报错。

2. 对齐compileSdk和buildTools版本

你的compileSdk用的是26,但buildTools跳到了27.0.1,版本不匹配是这类报错的常见原因。建议二选一调整:

  • 把buildTools降到对应compileSdk 26的稳定版本:
buildToolsVersion = "26.0.3"
  • 或者升级compileSdk到27,保持版本一致:
compileSdkVersion = 27
buildToolsVersion = "27.0.1"

3. 排查资源文件的语法问题

AAPT2对资源文件的语法校验比旧版AAPT严格很多,大概率是某个资源文件有小错误:

  • 检查drawable目录下的xml文件,有没有标签未闭合、属性拼写错误
  • 检查strings.xml里的特殊字符(比如&、<、>)有没有转义
  • 检查layout文件里有没有引用不存在的资源ID或者重复的资源名称

4. 清理缓存并重建项目

有时候IDE缓存会搞出奇怪的问题,试试这几步:

  • 点击Android Studio菜单栏的Build > Clean Project
  • 接着执行Build > Rebuild Project
  • 如果还是不行,手动删除项目根目录的.gradle文件夹和app/build文件夹,再重新编译

5. 升级Android Gradle Plugin版本

如果你的gradle插件版本太低,和buildTools 27.0.1不兼容,在项目根目录的build.gradle里升级插件:

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1' // 这个版本适配buildTools 27.x
}

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

火山引擎 最新活动