React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
当前回答
下面这些步骤真的对我很有帮助:
步骤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。
享受:)
其他回答
首先执行步骤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位置)
最后,再次运行您的项目。
我也遇到过类似的问题。NPX react-native init创建。gitignore文件,忽略<project>/android/app/src/debug文件夹。如果您稍后克隆了此项目,则该文件夹将会丢失。 解决办法很简单。以后将这一行添加到.gitignore文件的底部。
! android / app / src /调试
对于当前项目,请项目创建者提交此文件夹。 我在react原生版本0.63中遇到过这个错误
我在学习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。
我做了: react-native开始 而且 NPX react-native run-android。
然而,对于Min19,(基于Ubuntu的)我也有同样的问题,直到我运行:
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
来自: https://reactnative.dev/docs/troubleshooting#content
至少我手机里还有软件在运行。
对我来说,这个问题始于升级react-native。为了添加64位支持,必须进行升级。
Before:
--------
Environment:
Node: 10.15.0
npm: 6.9.0
Watchman: 4.9.0
Xcode: Not Found
Android Studio: 3.4 AI-183.6156.11.34.5692245
Packages: (wanted => installed)
react: 16.0.0-alpha.12 => 16.0.0-alpha.12
react-native: ~0.55.2 => 0.55.4
react-native-cli: 2.0.1
After:
------
info
React Native Environment Info:
Binaries:
Node: 10.15.0
npm: 6.9.0
Watchman: 4.9.0
SDKs:
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 27.0.3, 28.0.3
System Images: android-28 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: /undefined - /usr/bin/xcodebuild
npmPackages:
react: ^16.8.6 => 16.9.0
react-native: 0.59.9 => 0.59.9
npmGlobalPackages:
create-react-native-app: 2.0.2
react-native-cli: 2.0.1
另外,我为升级做了一个重要的改变是在../android/build/build.gradle中
android {
...
defaultConfig {
...
targetSdkVersion 28
...
}
...
}
当我试图将构建(.apk)上传到goole play控制台时,我不得不将targetSdkVersion从27更改为28。 我没有意识到这是导致我上述错误的根本原因。@tom和@tinmarfrutos的立即回答是完全有道理的。
我通过添加android:usesCleartextTraffic="true"到我的android/app/src/debug/AndroidManifest.xml解决了这个问题