我克隆了存储库:https://github.com/facebook/react-native并尝试在Android模拟器上运行UIExplorer示例。
./gradlew :Examples:UIExplorer:android:app:installDebug
./packager/packager.sh
我在Android模拟器上收到此错误消息:
Unable to download JS Bundle, Did you forget to start the development server or connect your device?
据我所知,这与此类似: react native android failed to load JS bundle
但在这里我必须使用命令" ./ packager / packager.sh"运行示例。所以上面的答案不适用于这种情况。
答案 0 :(得分:5)
为了让应用程序能够下载JS Bundle,打包器必须创建并提供JS包,模拟器必须能够连接到它。
要验证是否已正确创建和提供捆绑包,请尝试在Web浏览器中浏览到this page。这应该连接到打包器并获得捆绑作为答案。如果打包程序收到请求,则打包控制台中应显示以下请求消息:
<START> request:/Examples/UIExplorer/UIExplorerApp.android.bundle?platform=android
如果打包程序创建了正确的包,它将返回一个以"__DEV__ = true;
之类的内容开头的大文件。如果这两个步骤不起作用,那么打包器就会出现问题,您可以在github上报告问题。
要验证模拟器是否可以连接到您的打包程序,当您点击Reload JS
时,您应该在打包程序控制台中看到与上面相同的请求消息。如果没有出现此类消息,则模拟器无法连接到您的计算机。
答案 1 :(得分:1)
看起来您的打包程序无法从应用程序访问。 您应该首先启动React Native Packager。可以通过多种方式完成 - 这取决于您的操作系统和项目,示例:
./packager/packager.sh
packager\packager.bat
npm start
react-native start
node "local-cli\cli.js" start
node node_modules/react-native/local-cli/cli.js start
还要检查项目中的打包程序配置(至少是主机名和端口)。