更新数月前开发的Android应用时安装失败,构建报错求助
Android应用构建失败问题
原始错误详情
FAILURE: Build completed with 2 failures 1: Task failed with an exception. ----------- * 问题原因: Execution failed for task ':app:dexBuilderDebug'. > 执行工作项时出现多处失败 > 执行com.android.build.gradle.internal.dexing.DexWorkAction时失败 > Failed to process: /Users/vivekrk/Desktop/WeatherMonitor/android/app/build/intermediates/javac/debug/classes > 执行com.android.build.gradle.internal.dexing.DexWorkAction时失败 > Failed to process: /Users/vivekrk/Desktop/WeatherMonitor/android/app/build/intermediates/javac/debug/classes * 尝试方案: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. ============================================================================== 2: Task failed with an exception. ----------- * 问题原因: java.lang.StackOverflowError (无错误消息)
中文错误翻译
FAILURE: 构建完成,出现2个失败项 1: 任务执行失败 ----------- * 问题原因: 任务 ':app:dexBuilderDebug' 执行失败。 > 执行工作项时出现多处失败 > 执行com.android.build.gradle.internal.dexing.DexWorkAction时失败 > 处理失败: /Users/vivekrk/Desktop/WeatherMonitor/android/app/build/intermediates/javac/debug/classes > 执行com.android.build.gradle.internal.dexing.DexWorkAction时失败 > 处理失败: /Users/vivekrk/Desktop/WeatherMonitor/android/app/build/intermediates/javac/debug/classes * 建议操作: > 加上 --stacktrace 参数运行以获取堆栈跟踪信息。 > 加上 --info 或 --debug 参数运行以获取更多日志输出。 > 加上 --scan 参数运行以获取完整分析报告。 ============================================================================== 2: 任务执行失败 ----------- * 问题原因: java.lang.StackOverflowError (无错误消息)
解决方法
针对:app:dexBuilderDebug失败
- 清理并重新构建项目:执行命令
./gradlew clean,再运行./gradlew assembleDebug - 检查Java版本兼容性:确保项目使用的Java版本与Gradle插件版本匹配(例如Gradle 7.x对应Java 11)
- 禁用增量Dex构建:在app模块的
build.gradle中添加配置android { dexOptions { incremental false } } - 排查重复依赖:使用
./gradlew app:dependencies查看依赖树,排除重复引入的库
针对StackOverflowError
- 增大Gradle JVM堆内存:在
gradle.properties文件中修改或添加org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m - 检查代码递归逻辑:排查是否存在无限递归的方法调用,这是引发该错误的常见原因
- 更新Gradle组件:升级到最新稳定版的Android Gradle插件和Gradle,修复已知的内存溢出问题
内容的提问来源于stack exchange,提问作者Vivek R K
相关产品推荐
相关产品推荐

