一尘不染

Android 加载 JS 包失败

android

我正在尝试在我的 Nexus5 (android 5.1.1) 上运行 AwesomeProject。

我能够构建项目并将其安装在设备上。但是当我运行它时,我得到一个红屏说

无法下载 JS 包。您是否忘记启动开发服务器或连接您的设备?

在 react native iOS 中,我可以选择离线加载 jsbundle。我怎样才能为 Android 做同样的事情?(或者至少,我在哪里可以配置服务器地址?)

更新

要使用本地服务器运行,请在您的 react-native 项目根目录下运行以下命令

  1. react-native start > /dev/null 2>&1 &
  2. adb reverse tcp:8081 tcp:8081

请查看 dsissitka 的答案以获取更多详细信息。

要在没有服务器的情况下运行,请将 jsfile 捆绑到 apk 中,方法是运行:

  1. 在下创建一个资产文件夹android/app/src/main
  2. curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

请查看 kzzzf 的答案以获取更多详细信息。


阅读 126

收藏
2022-04-26

共1个答案

一尘不染

要将 JS 文件捆绑到您的 apk 中,同时让您的服务器运行 ( react-native start) 将捆绑包下载到应用程序的 assets 目录中:

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

在下一个版本(0.12)中,我们将修复react-native bundle命令以按预期使用 android 项目。

2022-04-26