【问题标题】:Problems upgrading React Native from 0.66.5 to 0.71.0: > Task :app:createBundleReleaseJsAndAssets FAILED将 React Native 从 0.66.5 升级到 0.71.0 时出现问题:> Task :app:createBundleReleaseJsAndAssets FAILED
【发布时间】:2023-01-30 18:38:41
【问题描述】:

我在更新 ReactNative from 0.66.5 to 0.71.0 时遇到了一些问题。嗯,你需要解决一些我一点一点解决的问题,但现在我被困在与这个 Gradle 任务相关的问题上,我无法解决。

> Task :app:createBundleReleaseJsAndAssets FAILED

Execution optimizations have been disabled for task ':app:createBundleReleaseJsAndAssets' to ensure correctness due to the following reasons:
  - Gradle detected a problem with the following location: '<whatever>/app/build/generated/res/react/release'. Reason: Task ':app:lintVitalAnalyzeRelease' uses this output of task ':app:createBundleReleaseJsAndAssets' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.5.1/userguide/validation_problems.html#implicit_dependency for more details about this problem.

我认为关键在于 Reason: Task ':app:lintVitalAnalyzeRelease' uses this output of task ':app:createBundleReleaseJsAndAssets' without declaring an explicit or implicit dependency 但我找不到解决方案。

失败总结:

* What went wrong:
Execution failed for task ':app:createBundleReleaseJsAndAssets'.

> Process 'command 'node'' finished with non-zero exit value 1

看痕迹我觉得跟爱马仕有关:

at com.facebook.react.tasks.BundleHermesCTask.runCommand(BundleHermesCTask.kt:129)
        at com.facebook.react.tasks.BundleHermesCTask.run(BundleHermesCTask.kt:89)

【问题讨论】:

    标签: react-native gradle android-gradle-plugin updating


    【解决方案1】:

    出于某种原因,在我们的子项目结构中,我们需要在根文件夹中安装 react-nativereact 作为依赖项,以便能够正确运行构建的所有阶段。

      ...
      "dependencies": {
        "react": "18.2.0",
        "react-native": "0.71.1"
      }
      ...
    

    【讨论】: