更多分享内容可访问我的个人博客
本文记录在使用 React Native 中遇到的一些问题及解决方法。
使用 react-native-cli 卡在 info Starting JS server…
如果你的网络没有问题,即没有被墙,那么一般可以使用以下方法解决。
先按文档配置好开发环境。
为了测试,首先新建一个项目,npx react-native init AwesomeProject
。
然后使用 Android Studio 打开项目的 android 目录,并且开启模拟器。然后就不要动 IDE 里的东西,尤其是一些升级的提示,也不要管什么 adb 找不到之类的信息,只要你确定在终端中可以调用 adb 命令即可。
然后开两个终端,都进入项目根目录。
首先在一个终端执行react-native start
,等到完全启动之后,在另一个终端执行yarn android
。等待第一个终端报错。
注意,一定要第一个终端报错,如果第二个终端先报错,那么就再执行一遍yarn android
。
第一个终端报错的同时模拟器中也会显示错误信息。这时把两个终端中执行的命令都杀死。然后再在一个终端中执行yarn android
。直到出现Starting JS server...
,然后点击模拟器中报错信息下面的 reload 按键,即可成功运行程序。
基本上新建的项目可以在两分钟之内跑起来,如果远远超过这个时间,那很可能就是出其他问题了。
另外react-native-cli
已经过时,可以直接选择使用 create-react-native-app
。推荐使用这种方法以获得更好的调试体验。可以参考笔者写的一个简单的 shell 脚本创建react native
+ typescript
+ scss
项目。
模拟器黑屏
将模拟器的启动方式改为冷启动即可。
Android Studio 在 wayland 下开不起来
在执行 shell 命令前添加环境变量_JAVA_AWT_WM_NONREPARENTING=1
。
如果自行编写.desktop
文件,则需要写一个launch.sh
,然后调用该文件。
export _JAVA_AWT_WM_NONREPARENTING=1
sh …… # the path to the shell file of android studio