无法加载脚本。请确保您正在运行Metro服务器(运行“ react-native start”)或该捆绑包

时间:2019-10-10 16:17:52

标签: react-native android-studio windows-7-x64

我想开始React本机编程。因此在CMD中,我尝试了r eact-native init AwesomeProject,然后尝试了react-native run-android,但是遇到了一些我找不到解决方法的错误。 通过在android studio中编辑此项目解决的一些错误: 添加implementation 'androidx.appcompat:appcompat:1.1.0'到build.gradle 并将classpath("com.android.tools.build:gradle:3.4.2")更改为classpath("com.android.tools.build:gradle:3.5.0") 但是模拟器向我展示了

  

无法加载脚本。...

在此图像中显示: error in emulator

在此消息中,它在手机上显示了我:

  

JSIExecutor + JSCRuntime不支持采样探查器

所以我尝试在

中创建资产目录。
  

... AwesomeProject \ android \ app \ src \ main \

并在我的根项目目录中运行gradlew clean。然后我尝试了

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

但发生此错误:

....error Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[
\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__tests__\
\.*)$/: Unterminated character class. Run CLI with --verbose flag for more detai
ls.
SyntaxError: Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\
]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__t
ests__\\.*)$/: Unterminated character class....

,该错误再次在模拟器中显示给我。 我单击了“在模拟器中重新加载”,但它显示了此错误: could not connect to development server...

我运行react-native info以获得更多详细信息,其结果是:

info Fetching system and libraries information...
System:
    OS: Windows 7
    CPU: (8) x64 Intel(R) Core(TM) i7 CPU       Q 740  @ 1.73GHz
    Memory: 892.99 MB / 3.98 GB
  Binaries:
    Node: 12.11.1 - C:\Program Files\nodejs\node.EXE
    npm: 6.11.3 - C:\Program Files\nodejs\npm.CMD
  SDKs:
    Android SDK:
      API Levels: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
      Build Tools: 25.0.0, 25.0.3, 26.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.3, 28.0.1, 28.0.2, 28.0.3, 29.0.1, 29.0.2
      System Images: android-25 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom_64
  npmPackages:
    react: 16.9.0 => 16.9.0
    react-native: 0.61.2 => 0.61.2

react-native run-android命令的屏幕截图是:

CMD screen shot

运行react-native run-android后,

和android studio中的logcat显示此错误:

first screen shot of logcat in android studio

然后我单击重新加载,logcat显示此错误:

logcat screen shot when click on reload

什么是问题,我该如何解决?

2 个答案:

答案 0 :(得分:1)

我的问题解决了。

我尝试在CMD中运行choco uninstall nodejs.installchoco uninstall npm,然后运行choco install nodejs.install --version=10.16.3choco install npm --version=6.9.0 当我运行react-native运行android时,我还有其他问题,所以我在Android Studio中打开了我的项目,并在build.gradle中添加了以下代码:

implementation "com.facebook.react:react-native:0.61.2"  // From node_modules
    implementation 'com.android.support:appcompat-v7:27.0.1'

当然该项目有一些警告,表明使用Android Studio可以解决这些问题。

最终react-native run-android正常工作,没有错误。 Adnan的评论很有帮助,但我不明白为什么:

  

由于版本不兼容,React会导致很多错误

当我关注官方网站时!!

答案 1 :(得分:0)

我第一次运行React-Native的方式是遵循官方网站上提到的以下步骤: https://facebook.github.io/react-native/docs/getting-started.html

1)从此链接下载NodeJS并安装 https://nodejs.org/en/

2)从此链接下载Python并安装 https://www.python.org/downloads/

3)从此链接下载JDK并安装 https://www.oracle.com/technetwork/java/javase/downloads/index.html

4)如果您的PC上未安装android studio,请从此链接下载并安装 https://developer.android.com/studio/index.html 然后在android studio中安装SDK

5)配置ANDROID_HOME环境变量 转到环境变量并创建一个新的用户变量ANDROID_HOME并将SDK路径添加到变量路径 SDK的默认位置:c:\ Users \ YOUR_USERNAME \ AppData \ Local \ Android \ Sdk 如果您在步骤4中更改了SDK的位置,请在上方添加该路径

6)将Platform-tools添加到Path 转到环境变量,然后在用户变量中,单击路径>编辑>新建 在文本字段中添加此路径 c:\ Users \ YOUR_USERNAME \ AppData \ Local \ Android \ Sdk \ platform-tools 如果您更改了SDK的位置,那么您的SDK路径/平台工具

7)安装一个不错的文本编辑器,如VS Code: https://code.visualstudio.com

8)转到Viw> VS Code中的终端,运行此命令 npm install -g react-native-cli

9)创建一个新项目 反应性初始NewProjectName

10)要在物理设备上运行项目,请按照下列步骤操作: https://facebook.github.io/react-native/docs/running-on-device 或使用 Genymotion

之类的虚拟设备

11)运行项目  -转到您的项目文件夹,在VS Code终端中运行此文件夹:    cd NewProjectName cd表示更改目录   -运行项目:    react-native run-android

希望这会有所帮助! 按照以下步骤操作我的项目时没有出现任何错误

重要 如果您的项目位于C:/ Users / ..文件夹中,请不要忘记以管理员身份运行VS Code,因为它需要管理权限才能对该文件夹进行更改。

确保“ Metro服务器”窗口正在运行。运行react-native run-android后,都会启动Metro服务器。 参见下图,顶部窗口是服务器窗口。 enter image description here