Android Studio构建APK正常但运行配置报错Failed to execute aapt求助
解决Build APK正常但Run Configuration运行时的aapt与Instant Run依赖问题
这种情况我之前也碰到过好几次,大概率是Instant Run的增量构建机制搞的鬼——毕竟Build APK是全量构建没问题,一用Run的Instant Run就出问题。给你几个亲测有效的解决方案:
1. 直接禁用Instant Run
Instant Run虽然号称能加快部署速度,但经常会出现各种奇怪的依赖或资源缓存问题,直接关掉往往能解决大部分这类报错:
- 打开Android Studio的设置(Windows/Linux点
File > Settings,Mac点Android Studio > Settings) - 找到
Build, Execution, Deployment > Instant Run选项 - 取消勾选Enable Instant Run to hot swap code/resource changes on deploy
- 点击
Apply后重启Android Studio,再尝试用Run Configuration启动项目
2. 清理+全量重建项目
有时候是缓存文件混乱导致的,彻底清理后重建能消除缓存干扰:
- 先执行
Build > Clean Project,等清理完成 - 再执行
Build > Rebuild Project,让项目从头开始全量构建所有模块 - 完成后再用Run Configuration运行试试
3. 排查aapt相关的资源文件问题
报错里提到Failed to execute aapt,说明资源处理环节出了问题,可能是某个资源文件有语法错误或格式问题:
- 仔细检查
res目录下的所有资源:比如layout的xml有没有标签未闭合、drawable里的图片是否损坏、values里的字符串有没有未转义的特殊字符 - 可以尝试临时移除最近新增的资源,逐步定位到有问题的文件,修复后再运行
4. 检查Dex与依赖配置
报错涉及transformDexWithInstantRunDependenciesApkForFlavorDebug,可能是multidex配置或依赖冲突的问题:
- 确认app模块的
build.gradle里是否开启了multidex:android { defaultConfig { // 其他配置... multiDexEnabled true } } dependencies { // 如果是AndroidX用这个:implementation "androidx.multidex:multidex:2.0.1" implementation 'com.android.support:multidex:1.0.3' } - 执行依赖树命令排查冲突:Mac/Linux用
./gradlew app:dependencies,Windows用gradlew.bat app:dependencies,找到重复或冲突的依赖,用exclude排除掉
5. 重置Run Configuration
有时候是Run Configuration本身的配置出了问题,重置一下就好:
- 点击Run按钮旁边的配置下拉框,选择
Edit Configurations - 找到对应的
FlavorDebug配置,点击左上角的减号删除 - 再点击加号,重新创建一个Android App的Run Configuration,选择对应的模块和Flavor,再运行试试
内容的提问来源于stack exchange,提问作者Galya
相关产品推荐
相关产品推荐

