我试图在我的Nexus5 (android 5.1.1)上运行AwesomeProject。
我能够构建项目并将其安装到设备上。但当我运行它时,我看到一个红色屏幕,上面写着
无法下载JS包。您是否忘记启动开发服务器或连接设备?
在react原生iOS中,我可以选择离线加载jsbundle。我如何在Android上做同样的事情?(或者至少,我可以在哪里配置服务器地址?)
更新
要使用本地服务器运行,请在react-native项目根目录下运行以下命令
React-native start > /dev/null 2>&1 &
Adb reverse tcp:8081 tcp:8081
请看disssitka的回答,了解更多细节。
要在没有服务器的情况下运行,可以运行以下命令将jsfile捆绑到apk中:
在android/app/src/main下创建一个assets文件夹
旋度“http://localhost: 8081 / index.android.bundle吗?平台=android" -o "android/app/src/main/assets/index.android.bundle"
详情请看kzzzf的回答。
我只使用Ubuntu和Android,我无法让它运行。我发现了一个非常简单的解决方案,那就是更新你的包。Json文件,更改这行:
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start"
},
to
"scripts": {
"start": "adb reverse tcp:8081 tcp:8081 && node node_modules/react-native/local-cli/cli.js start"
},
然后通过输入命令运行服务器
npm run start
这确保android设备在您的计算机上查找节点服务器,而不是在本地手机上。
嘿,我正面临这个问题与我的反应原生裸露项目,IOS模拟器工作良好,但android一直给我这个错误。这里有一个可能的解决方案,对我来说很有效。
步骤1,通过在您的终端上运行:adb devices检查adb设备是否获得授权
如果未经授权,则运行以下命令
步骤2,sudo adb kill-server
步骤3,sudo adb start-server . sh
然后检查adb devices命令是否显示
所附设备清单
模拟器- 5554设备
而不是未经授权,如果它是设备而不是未经授权
步骤4,执行NPX react-native run-android
这在我的例子中是有效的。