Android Studio项目同步报错:aapt.exe进程非零退出值1求助
嘿,这个aapt报错的问题我之前踩过不少坑,大概率是资源文件或者项目配置的小问题,给你几个实用的排查和解决方法:
排查资源文件的语法/引用错误
aapt工具主要负责处理资源文件,最常见的报错原因就是XML文件有问题:比如标签没闭合、颜色值格式错误(少了#号)、引用了不存在的drawable或string、strings.xml里有未转义的特殊字符(比如&)。建议重点检查res目录下最近修改过的layout、drawable、values文件夹,逐行排查有没有这类小失误。清理缓存并重建项目
有时候项目缓存会导致奇怪的同步问题,试试这套操作:- 点击Android Studio顶部菜单栏的
Build->Clean Project - 接着选择
Build->Rebuild Project - 如果还是不行,手动删除项目根目录下的
.gradle文件夹、项目根目录和Module目录下的build文件夹,然后重新点击Sync Project with Gradle Files
- 点击Android Studio顶部菜单栏的
确认Build Tools版本安装正确
你的build.gradle里配置了buildToolsVersion "25.0.2",先打开SDK Manager,确认这个版本的Build Tools已经成功安装。如果安装了还是报错,可以尝试升级到同SDK版本下更高的Build Tools(比如25.0.3),修改build.gradle里的版本号后重新同步。检查MultiDex配置是否完整
你提到开启了multiDexEnabled,要确保配置完整:
在defaultConfig块里确认multiDexEnabled true已经添加,然后在dependencies中加入对应依赖:dependencies { implementation 'com.android.support:multidex:1.0.3' }如果你的项目有自定义Application类,需要让它继承
MultiDexApplication;如果不能继承,就在attachBaseContext方法里添加:@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }查看详细错误日志定位问题
只看aapt的退出值很难定位具体问题,你可以打开Android Studio的Terminal,运行以下命令:gradlew assembleDebug --stacktrace这个命令会输出更详细的错误堆栈,能直接告诉你是哪个文件、哪一行出了问题,排查起来效率高很多。
内容的提问来源于stack exchange,提问作者Zakaria

