解决 Expo AVM 中的 java.net.UnknownHostException 错误:详尽指南
2024-03-13 17:32:31
在 Android 虚拟机中启动 Expo 项目时如何解决 java.net.UnknownHostException 错误
引言
在使用 Expo CLI 启动 Expo 项目时,Android 虚拟机 (AVM) 可能无法启动,并显示 java.net.UnknownHostException
错误。这表示 AVM 无法解析主机名,阻碍了启动过程。
问题原因
- 主机无法连接到互联网
- 主机防火墙阻止 Expo 和 AVM 通信
- 过时的 AVM 映像
- 过时的 Expo CLI
解决方案
1. 检查互联网连接
确保你的主机已连接到网络,并尝试 ping 一个网站或 IP 地址。
2. 检查防火墙设置
在 Windows 中,转到控制面板 > 系统和安全 > Windows 防火墙,并禁用它。在 Mac 中,转到系统偏好设置 > 安全与隐私 > 防火墙,并禁用它。
3. 更新 AVM 映像
- 在 Android Studio 中打开 AVD Manager > 虚拟设备
- 选择虚拟设备并单击编辑
- 在硬件选项卡中,单击更新
4. 重新安装 Expo CLI
在终端或命令提示符中运行以下命令:
npm uninstall -g expo-cli
npm install -g expo-cli
5. 使用 VPN(可选)
如果上述步骤无效,请尝试使用 VPN 来绕过防火墙或其他网络限制。
其他提示
- 使用最新版本的 Expo CLI
- 检查 AVM 设置(如内存分配)
- 尝试不同的 AVM 映像
- 重新启动主机和 AVM
常见问题解答
1. 为什么会出现 java.net.UnknownHostException
错误?
当 AVM 无法解析主机名时,就会出现此错误。
2. 如何知道我的主机是否已连接到互联网?
尝试 ping 一个网站或 IP 地址。如果成功,则已连接。
3. 如何检查防火墙设置?
在 Windows 中,转到控制面板 > 系统和安全 > Windows 防火墙。在 Mac 中,转到系统偏好设置 > 安全与隐私 > 防火墙。
4. 如何更新 AVM 映像?
在 Android Studio 中,转到 AVD Manager > 虚拟设备。选择虚拟设备并单击编辑。在硬件选项卡中,单击更新。
5. 如何重新安装 Expo CLI?
在终端或命令提示符中运行以下命令:
npm uninstall -g expo-cli
npm install -g expo-cli
结论
通过遵循这些步骤,你应该能够解决 java.net.UnknownHostException
错误,并顺利在 AVM 中启动 Expo 项目。记住要仔细检查互联网连接、防火墙设置、AVM 映像和 Expo CLI 版本。