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

如何解决Android构建过程中出现的OutOfMemoryError错误

Android编译Java堆内存溢出问题解决方案
  • 调整Gradle全局JVM堆内存配置
    你配置的dexOptions.javaMaxHeapSize仅针对d8/R8编译的独立进程分配内存,Gradle本身的构建进程堆内存不足也会抛出OOM异常。在项目根目录的gradle.properties文件中添加/修改以下配置:
org.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

内存分配按照本地设备总内存调整:16G内存建议分配8G,32G内存可分配16G,需预留至少4G内存给操作系统和其他进程使用。

  • 适配高版本Android Gradle Plugin(AGP)配置
    AGP 7.0及以上版本已废弃dexOptions.javaMaxHeapSize配置,原有配置不会生效,需在gradle.properties中添加R8专用堆配置:
android.r8.javaMaxHeapSize=4g
  • 优化编译配置降低内存消耗
    • 开发调试阶段关闭不必要的编译优化:debug构建类型下关闭minify、shrinkResources配置,仅在release打包时开启
    • 清理项目冗余依赖:执行./gradlew dependencies排查未使用的第三方依赖、重复依赖,移除后可大幅降低编译时内存占用
    • 开启增量编译:在gradle.properties中添加org.gradle.caching=true开启构建缓存,减少重复编译任务的资源消耗
  • 检查运行环境兼容性
    • 必须使用64位版本的JDK,32位JDK最大堆内存上限为4G,无法分配更高内存
    • 编译前关闭其他占用内存较高的进程(如模拟器、IDE多余窗口),避免可用内存不足
  • 临时故障排查
    先执行清理缓存命令再重新编译,避免缓存损坏导致的内存异常:
./gradlew clean

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 18:45:01