react-native 环境配置&Android studio搭配夜神模拟器做react-native调试常遇问题

强才捷
2023-12-01

前提在window Android 下 遇到问题不要慌解决就是了 没有问题你会安心吗
一、根据RN官网https://reactnative.cn/docs/getting-started/讲述下载相应的,必要的JDK、python、Android studio;
照着对应的安装教程都没什么问题,这些做完后下载夜神模拟器进行安装,
常遇问题:在保证JDK、python、Android studio、adb安装完成环境变量配置完成的前提下去查找问题,其实我们主要为了在电脑上用android的一个环境而android studio就为我们提供了这样一个环境,有了环境我们还需要一个设备来显示我们的项目,在电脑上也就是我们的模拟器,当然也可以用真机,模拟器与服务器正常链接时,点击Android studio里的Run app会出现一个设备也就是当前连接的模拟器,(android studio里运行项目只有在项目的android文件下运行Run app按钮才会亮),模拟器问题大多是80端口被占用,可以在项目里自定义一个端口,在运行项目时想查看数据及运行变化,可以在根目录下命令行运行adb logcat或android studio里logcat查看数据变化,操作上也不用太在意用的多了就熟了,一般新建项目在Android studio里出现的问题不多,一般都是SDk版本差异导致的;而老项目的话一些依赖I版本较低,API被替换导致。

二、重点来了:

链接夜神模拟器adb链接
前提要安装adb并配置环境变量
(1)、打开夜神模拟器,(调试时需打开开发者模式,点击首页下的设置,如果没有开发者选项点击关于平板电脑点击版本号激活开发者模式)
(2)打开命令行窗口,
(3)打开到夜神安装目录(如cd D:\Program Files\NOX\Nox\bin),
(4)执行命令:nox_adb.exe connect 127.0.0.1:62001,连接模拟器,(.\adb devices或adb devices查看当前模拟器ip),出现Already connected to 127.0.0.1:62001说明已连上(有时需多来两下)
(5)若Android Studio连接不上夜神,重启模拟器即可。
(6)雷电模拟器除端口外(一般为5555)链接步骤一致

1、运行RN项目报错

  • 在初始化RN项目时查看Android–>app–>src–>main下有没有assets文件没有的话会报错,需创建一个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 run-android时如果红了一片并出现Task :app:installDebug FAILED(后面跟了一堆),这个错的大致意思是没有找到安装设备,也就是没有找到相应的真机或模拟器,这时候不用担心,安装链接模拟器即可

2、在Android studio里运行

  • 在Android studio里运行RN项目时可能会遇到一些报错,这个时候不要着急分析报错内容,最好的方式复制你的错误到网上找答案,这里附上我遇到的几个问题:

(1)、在Android studio里初始化项目时

  • 如果报错SDK有问题,有可能你没有安装Android studio SDK需要在files–>settings–>System Settins–>android SDK里进行安装具体可以找文档;

  • buildToolsVersion版本不一致报错的可以到android下的build.gradle里找到buildToolsVersion并统一

(2)、在Android studio里点击Run app时报错(Run app(android文件下) == react-native run-android(根目录下) 运行目录不同)

  • Unknown run configuration type AndroidRunConfigurationTyp原因是因为插件被禁用了,到
    File >> Setting >> Plugins右侧的插件好多都是红颜色,点击后面的选框,插件变为灰色,然后点击apply再点击ok

  • Error: Please select android sdk找到setting->android SDK 路径那里点击EIT进去选择第一个Android SDK-(installed) 一路next

3、在模拟器里运行报错

首先打开模拟器的开发者调试(底部的设置)
在夜神模拟器里摇一摇调出功能选项,
Reload 刷新
Enable Live Reload 开启会实时更新整个项目
Disable Hot Reloading 开启实时刷新当前修改页
Dev Settings 输入本地ip+端口 (默认8081)

  • 出现unable to load script… 或者javascript version 0.55.2 native version 0.5.8 此类问题删除app/mian下的assets在RN项目根命令窗口输入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

  • 出现403可能8081端口被占用,可在node-modules下的react-native–>local-cli–>server–>server.js里{command:为port,default: 设置端口}

  • 这个对象修改然后修改Dev Settins 下的端口

  • 出现500需重启

真机测试的话需要打开开发者选项USB调试和USB对应的一些功能(具体看情况)

 类似资料: