我想开始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
命令的屏幕截图是:
react-native run-android
后,和android studio中的logcat显示此错误:
first screen shot of logcat in android studio
然后我单击重新加载,logcat显示此错误:
logcat screen shot when click on reload
什么是问题,我该如何解决?
答案 0 :(得分:1)
我的问题解决了。
我尝试在CMD中运行choco uninstall nodejs.install
和choco uninstall npm
,然后运行choco install nodejs.install --version=10.16.3
和choco 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服务器。 参见下图,顶部窗口是服务器窗口。