Android Studio 3.1运行模拟器时加载aapt失败问题求助
我之前帮不少开发者解决过类似的问题,结合你给出的报错信息,咱们一步步来排查和修复:
禁用Instant Run
你的报错里明确提到了transformDexWithInstantRunDependenciesApkForDebug任务执行失败,这大概率是Instant Run的机制出了问题。直接在Android Studio里关闭它:
打开File > Settings > Build, Execution, Deployment > Instant Run,取消勾选所有相关选项,然后重启Android Studio。清理并重建项目
缓存文件损坏也可能导致这类奇怪的报错,先执行清理操作:
点击顶部菜单栏的Build > Clean Project,完成后再执行Build > Rebuild Project。如果习惯用命令行,也可以在项目根目录运行:# Mac/Linux ./gradlew clean assembleDebug # Windows gradlew clean assembleDebug检查资源文件语法
java.util.NoSuchElementException通常和资源文件的语法错误有关,比如XML标签未闭合、引用了不存在的资源(比如拼写错误的drawable/string名称)、资源文件名包含特殊字符(比如空格、@、#这类)。仔细检查res目录下的layout、values、drawable等文件夹里的文件,尤其是最近修改过的资源。清除Gradle缓存
如果上面的步骤都没用,试试删除Gradle的缓存文件:- 删除项目根目录下的
.gradle文件夹 - 删除用户目录下的
.gradle文件夹(比如Mac的~/.gradle,Windows的C:\Users\你的用户名\.gradle)
之后重新打开项目,点击File > Sync Project with Gradle Files,再尝试运行项目。
- 删除项目根目录下的
确认gradle.properties设置
你已经设置了android.enableAapt2 = false,确保这个配置没有被其他地方覆盖,同时检查文件里有没有其他冲突的配置项,比如和dex、资源构建相关的设置,避免互相冲突。
内容的提问来源于stack exchange,提问作者Srdjan Stjepanovic

