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

Expo构建报错:请求体超出maxBodyLength限制,如何调整该参数?

解决大JSON资源导致签名APK构建失败(调整maxBodyLength)

兄弟,你的问题我太懂了——大资源文件搞崩构建流程,还找不到参数调整的地方,确实头疼。下面给你拆解清楚maxBodyLength的来源和修改方法:

一、先搞懂maxBodyLength是什么

这个参数本质是HTTP客户端允许的最大请求体大小限制,构建过程中如果某个任务需要通过HTTP上传/传输你的大JSON资源(比如某些插件的资源同步、签名服务调用等),当资源超过默认限制时就会触发报错。

二、修改方法分两种场景

1. 全局修改Gradle的HTTP客户端限制(最常用)

直接在项目根目录的gradle.properties文件中添加以下配置,覆盖默认的HTTP/HTTPS请求体大小限制:

# 设置为0表示不限制,或者改成你需要的具体大小(比如60MB对应值为62914560)
systemProp.http.maxBodyLength=0
systemProp.https.maxBodyLength=0

添加后重新执行构建命令,大概率能绕过大小限制。

2. 针对Android Gradle Plugin的特定配置

如果上面的全局配置没用,可能是插件内部用了独立的HTTP客户端(比如OkHttp),可以在模块级的build.gradle中做针对性调整:

android {
    buildTypes {
        release {
            // 保留你原有的签名配置
            signingConfig signingConfigs.release
            
            // 针对打包任务调整HTTP客户端参数
            tasks.withType(com.android.build.gradle.tasks.PackageApplication) {
                doFirst {
                    // 设置系统属性,覆盖OkHttp的默认请求体限制
                    System.setProperty("okhttp3.maxBodyLength", "0")
                }
            }
        }
    }
}

三、额外优化建议

如果调整后还是有问题,不妨试试优化你的大JSON资源:

  • 对JSON进行压缩(移除注释、空格、换行符),能大幅减小体积
  • 考虑把单一大JSON拆分成多个小文件,避免单个资源超出限制
  • 尽量补全构建日志里的具体报错信息,能帮你更精准定位问题

内容的提问来源于stack exchange,提问作者Văn Quyết

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:04:34