我正在尝试将代码推送添加到我的 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'.
GitHubMicrosoft/react-native-code-pushreact-native-code-push - 用于 CodePush 服务的 React Native 插件。
我使用以下命令生成捆绑包:
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
我的反应原生版本是 0.18,代码推送版本为 0.16
这是在 react native 中从 0.15 之前的版本升级到 0.15 之后版本时经常遇到的问题。
react gradle task bundleReleaseJsAndAssets 似乎是罪魁祸首。
可以使用以下命令禁用它
enabled config.bundleInRelease ?: false
在 react.gradle 或注释该行(虽然不能保证正常工作)
inputs.files fileTree(dir: reactRoot, excludes: inputExcludes)
并使用手动制作捆绑文件反应本机捆绑包命令
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"