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

构建AAB时内存不足,调大JVM参数至16G仍未解决

构建AAB时出现内存错误(APK构建正常)

问题现象

能正常构建Release APK,但构建AAB时持续触发内存错误,错误发生在shrinkBundleReleaseResources任务阶段。

核心错误信息

  • What went wrong:
    Out of memory. input is too large to fit in a byte array

Possible solution:

  • Check the JVM memory arguments defined for the gradle process in:
    gradle.properties in project root directory
    gradle.properties in GRADLE_USER_HOME directory

任务执行失败日志:

Execution failed for task ':app:shrinkBundleReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.transforms.ShrinkAppBundleResourcesAction
   > input is too large to fit in a byte array

堆栈跟踪:

Caused by: java.lang.OutOfMemoryError: input is too large to fit in a byte array
    at com.google.common.io.ByteStreams.toByteArrayInternal(ByteStreams.java:205)
    at com.google.common.io.ByteStreams.toByteArray(ByteStreams.java:238)
Suppressed: java.util.zip.ZipException: invalid entry size (expected 2291636892 but got 0 bytes)
    at java.base/java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:300)
    at java.base/java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:374)

已尝试的配置

已调整gradle.properties中的JVM参数至16GB,配置如下:

org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx16g -Xms8g -XX:+UseG1GC -XX:MaxMetaspaceSize=16g

但问题仍未解决。


可能的解决方法

1. 排查异常资源文件

堆栈中出现ZipException: invalid entry size,大概率是存在损坏或异常的资源文件:

  • 检查res/目录下的所有资源(图片、动画、raw文件等),确认是否有0字节文件、体积异常大的文件
  • 删除项目根目录下的build/文件夹,清理临时构建文件后重新尝试构建

2. 为资源压缩任务单独分配内存

全局JVM参数可能未覆盖到资源压缩子任务,在app/build.gradle中为该任务单独配置内存:

tasks.withType(com.android.build.gradle.internal.transforms.ShrinkAppBundleResourcesAction) {
    jvmArgs '-Xmx16g', '-Xms8g'
}

或者为所有Android构建任务统一增加内存:

android {
    tasks.withType(JavaExec) {
        jvmArgs '-Xmx16g', '-Xms8g'
    }
}

3. 临时禁用资源压缩(排查用)

关闭资源压缩功能,验证是否能正常构建AAB,以此确认问题根源:
在app/build.gradle的release构建变体中添加:

android {
    buildTypes {
        release {
            shrinkResources false
            minifyEnabled false // 若不需要混淆可临时关闭
        }
    }
}

如果能正常构建,说明资源压缩流程中存在异常资源,再针对性排查。

4. 更新Android Gradle插件和Gradle版本

旧版本AGP可能存在资源压缩的内存处理bug,尝试更新到最新稳定版:

  • 在project/build.gradle中更新AGP版本(示例为8.2.0稳定版):
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:8.2.0'
    }
}
  • 同步后按Android Studio提示更新Gradle wrapper至兼容版本

5. 检查磁盘状态

磁盘空间不足或文件系统错误可能导致临时构建文件损坏:

  • 确认项目所在磁盘有足够剩余空间
  • 排查磁盘是否存在坏道或文件系统异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 14:33:35