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

Android Studio升级gradle:3.1.2后android.enableAapt2配置报错求助

解决Gradle 3.1.2启用Aapt2后的编译报错问题

嘿,我碰到过不少开发者在升级Gradle到3.1.2后踩这个Aapt2的坑,给你整理几个靠谱的解决思路:

1. 先排查资源文件的“小毛病”

Aapt2对资源的校验比旧版严格太多,很多之前能蒙混过关的问题现在直接触发报错:

  • 所有资源文件名必须只包含小写字母、数字、下划线和点,大写字母、空格、中文或者特殊符号(比如!、@)都是雷区,比如MyIcon.png得改成my_icon.png
  • 检查XML资源的语法:有没有未闭合的标签?属性值有没有漏加引号?是不是引用了不存在的资源ID?
  • 看看图片资源有没有损坏:比如png/jpg文件本身打不开,或者VectorDrawable的XML代码有语法错误

2. 清理缓存后重新构建

有时候Android Studio的缓存会抽风,旧缓存和新Aapt2不兼容,执行这几步试试:

  • 点击顶部菜单栏的 Build → Clean Project
  • 接着点击 Build → Rebuild Project
  • 如果还不行,手动删掉项目根目录的 .gradle 文件夹和 app/build 文件夹,然后点击右上角的 Sync Project with Gradle Files 重新同步

3. 调整Gradle配置适配Aapt2

如果上面的方法没用,试试这些配置调整:

  • 在项目根目录的 gradle.properties 里,除了保留 android.enableAapt2=true,再加一行:
    android.enableBuildCache=false
    
    关闭构建缓存可以避免缓存里的旧资源干扰新构建
  • 检查 app/build.gradle 里的 compileSdkVersion 和 targetSdkVersion,Gradle 3.1.2建议搭配27及以上版本,版本不匹配也可能导致Aapt2报错
  • 看看你用的第三方库有没有适配Aapt2,旧库的资源可能不符合新规范,尽量把第三方库更新到最新版本

4. 临时降级Gradle插件(迫不得已才用)

如果实在搞不定,可以暂时降级回之前能正常工作的Gradle版本,比如3.0.1:
修改项目根目录 build.gradle 里的插件版本:

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
}

不过这只是缓兵之计,官方已经明确说会在2018年底彻底移除旧的Aapt工具,所以还是优先尝试前面的方法适配Aapt2。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:10:42