React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:

无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。

我做错了什么?


当前回答

如果你在linux上,从App根目录打开终端并运行

npm start

然后打开另一个终端窗口并运行:

react-native run-android

其他回答

我的解决方案如下:

启动Metro服务器

$ react-native start

开始安卓

$ react-native run-android

如果看到错误提示“端口8081已被使用”,那么您可以终止该进程并重新运行

$ react-native start

参见React Native故障诊断页面。

下面这些步骤真的对我很有帮助:

步骤1:在android/app/src/main/assets目录下创建一个目录

Linux命令:mkdir android/app/src/main/assets

第二步:将index.android.js(在根目录下)重命名为index.js(也许有一个index.js文件,在这种情况下你不需要重命名它),然后运行以下命令:

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

步骤3: 构建APK: react-native run-android

请在最新版本使用index.js。

享受:)

M1芯片

验证您的JAVA_HOME路径,在我的M1芯片的情况下,我将其定义为.zprofile

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"

然后执行source ~/。终端z型线

在这之后,它对我起作用了。

我得到了同样的问题,在遵循以下步骤后,它得到了解决的问题

清晰的守望人守望:守望人守望一切。 删除“node_modules”文件夹:rm -rf node_modules && npm install。 Reset Metro Bundler cache: rm -rf /tmp/ Metro - Bundler -cache-* 删除急速缓存:rm -rf /tmp/急速-map-react-native-packager-*

对我来说,这个错误是由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/