3

我正在尝试将代码推送添加到我的 react 本机应用程序中,并按照https://github.com/Microsoft/react-native-code-push中提到的所有步骤进行操作 后,我的调试构建工作正常,我使用:

$ ./gradlew installDebug

但发布构建失败,由以下命令给出:

$ ./gradlew installRelease

这给出了以下错误:

:app:generateReleaseResources
:app:mergeReleaseResources
:app:bundleReleaseJsAndAssets

    FAILURE: Build failed with an exception.

    * What went wrong:
    Could not list contents of '/Users/jayshah/Documents/testdir/ExampleApp/node_modules/.bin/_mocha'.

GitHub Microsoft/react-native-code-push react-native-code-push - CodePush 服务的 React Native 插件。

我使用以下命令生成捆绑包:

curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

我的 react native 版本是 0.18,code push 版本是 0.16

4

1 回答 1

3

事实证明,这是将 react native 从 pre 0.15 升级到 post 0.15 版本时经常遇到的问题。

react gradle 任务 bundleReleaseJsAndAssets 似乎是罪魁祸首。

可以使用禁用它

enabled config.bundleInRelease ?: false 

在 react.gradle 或注释该行(但不能保证正常工作)

inputs.files fileTree(dir: reactRoot, excludes: inputExcludes)

并使用 react-native bundle 命令手动制作捆绑文件

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

或基于 curl 的命令

curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
于 2016-02-05T16:57:01.677 回答