React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
当前回答
如果你在Linux操作系统上运行,可能会出现npm远程服务器不运行的情况。打开另一个终端(带有项目目录),在执行sudo react-native run-android之前,运行sudo npm start或sudo react-native start命令
其他回答
对我来说,这个错误是由react-native的升级引起的
从Android 9.0 (API级别28)开始,默认情况下禁用明文支持。
如果您检查了升级差异,您需要创建一个调试清单 android / app / src /调试/ AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
</manifest>
查看更多信息:https://stackoverflow.com/a/50834600/1713216
https://react-native-community.github.io/upgrade-helper/
首先执行步骤4和5,然后可以运行项目。如果您没有得到结果(步骤4和5),请执行以下步骤
1-尝试降级你的Node版本(当前版本是12.13.1)
choco uninstall nodejs
choco install nodejs --version 12.8
2-添加npm模块的路径(C:\Users\your user name\AppData\Roaming\npm)到系统变量而不是用户变量
3-使用命令全局安装react native
npm install -g react-native-cli
4-进入项目目录的根目录,执行以下命令:
react-native start
5-打开项目根目录下的另一个终端,执行以下命令:
react-native run-android
编辑:
你在用Genymotion ?是,执行以下步骤。
在以上步骤后,如果您得到以下错误?
error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`.
打开你的genymotion,转到:
genymotion菜单->设置-> ADB ->然后选择使用自定义android sdk工具(点击浏览找到sdk位置)
最后,再次运行您的项目。
只需添加三个飞溅: node_modules \ metro-config \ src \ \ blacklist.js违约
更换此部件:
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
如果你在Linux操作系统上运行,可能会出现npm远程服务器不运行的情况。打开另一个终端(带有项目目录),在执行sudo react-native run-android之前,运行sudo npm start或sudo react-native start命令
我在学习React Native教程时也遇到过同样的问题(在Linux上开发,目标是Android)。
这个问题帮助我通过以下步骤解决了问题。按如下顺序执行以下命令:
(在项目目录)mkdir android/app/src/main/assets React-native bundle——platform android——dev false——entry-file index.js——bundle-output android/app/src/main/assets/index.android。Bundle——assets-dest android/app/src/main/res react-native运行android
您可以通过将上述步骤放在包的脚本部分来自动化它们。Json是这样的:
"android-linux": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && react-native run-android"
然后你可以每次都从你的命令行执行npm run android-linux。