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

React Native 0.71.7 Android构建如何跳过打包?

React Native 0.71.7 Android 手动预生成Bundle构建解决方案

核心问题

升级后原bundleInRelease配置被移除,Gradle插件默认依赖自动打包任务,导致手动预生成bundle后无法正常执行buildRelease。

可行解决方法

方法一:修改Gradle任务依赖与资源配置

在android/app/build.gradle中添加以下配置,直接禁用自动打包任务,并让资源合并任务读取预生成的bundle和资源文件:

react {
    enableHermes = true // 根据你的项目实际配置调整(true/false)
    bundleAssetName = "index.android.bundle"
    // 指定预生成bundle和资源的目录(需与你手动打包的输出路径一致)
    bundleOutputDirectory = file("$projectDir/src/bundle/assets")
    resourcesOutputDirectory = file("$projectDir/src/bundle/res")
}

// 调整mergeReleaseAssets任务,移除对自动打包任务的依赖,直接读取预生成bundle
tasks.named('mergeReleaseAssets') {
    dependsOn null
    from("$projectDir/src/bundle/assets") {
        include react.bundleAssetName
    }
}

// 调整mergeReleaseResources任务,读取预生成的资源文件
tasks.named('mergeReleaseResources') {
    dependsOn null
    from("$projectDir/src/bundle/res") {
        include '**/*'
    }
}

// 完全禁用自动打包任务
tasks.named('createBundleReleaseJsAndAssets') {
    enabled = false
}

方法二:通过Gradle属性控制打包行为

在项目根目录的gradle.properties中添加自定义属性,然后在android/app/build.gradle中根据该属性决定是否执行打包任务:

  1. gradle.properties中添加:
skipBundleBuild=true
  1. android/app/build.gradle中配置:
react {
    enableHermes = true
    bundleAssetName = "index.android.bundle"
}

// 根据属性判断是否禁用打包任务
if (project.hasProperty("skipBundleBuild") && project.property("skipBundleBuild") == "true") {
    tasks.named('createBundleReleaseJsAndAssets') {
        enabled = false
    }

    tasks.named('mergeReleaseAssets') {
        from("$projectDir/src/bundle/assets") {
            include react.bundleAssetName
        }
    }

    tasks.named('mergeReleaseResources') {
        from("$projectDir/src/bundle/res") {
            include '**/*'
        }
    }
}

手动生成Bundle的命令

确保你手动打包的命令输出路径与上述配置一致:

react-native bundle \
  --platform android \
  --dev false \
  --entry-file index.js \
  --bundle-output android/app/src/bundle/assets/index.android.bundle \
  --assets-dest android/app/src/bundle/res

执行构建命令

完成上述配置后,直接执行:

./gradlew buildRelease

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:17:19