Expo 介绍
Expo 应用程序是包含 Expo SDK 的 React Native 应用程序。 SDK 是一个 native-and-JS 库,可以访问设备的系统功能(如相机,联系人,本地存储和其他硬件)。这意味着您不需要使用 Xcode 或 Android Studio,也不需要编写任何本机代码,而且它还使得您的 pure-JS 项目非常便于携带,因为它可以在任何包含 Expo SDK 的本机环境中运行。
Expo 还提供 UI 组件,以处理几乎所有应用程序都会覆盖但未被烘焙到 React Native 核心(expo 有 rn 中没有)中的各种使用案例,例如,图标,模糊视图等等。
Expo SDK 提供了访问服务的功能,这些服务通常很难管理,但几乎所有应用都需要这些服务。其中最受欢迎的是:Expo 可以为您管理您的资产,它可以为您提供推送通知,并且可以构建可以部署到应用商店的本机二进制文件。
错误原因:是由于 windows 下安装了虚拟机(WMware),WMware 的虚拟网卡导致的。
Expo-cli 安装后,通过 npm 启动服务。服务启动成功后,会生成一个独特的开发网址,您可以在 iOS 或 Android 上的 expo 客户端上访问它,无论是在真实设备上还是在模拟器中。手机通过 google pay 安装下载 Expo app,在同一 WiFi 下,打开软件扫二维码就可以在手机上跑起来。
但是,如果安装了 WMware,Expo 启动的服务有时会把 url 的 ip 设为 WMware 虚拟网卡的 ip。导致扫码连接失败。
解决方法:
- 最粗暴的解决方法,在不用虚拟机时打开适配器设置,禁用 WMware 安装的虚拟网卡
- 如果不想禁用 WMware 的虚拟网卡,可以设置 WiFi 跃点。按顺序打开网络适配器 > 选中跟手机相同的 WiFi > 右键选择属性 > 双击 IPV4 > 点击高级 > 下面取消自动跃点,填上 10 确定
重新启动一下 expo 项目就 ok 了