Expo项目运行问题:如何指定Android模拟器运行,避开未授权设备
问题描述
执行adb devices时显示存在未授权的未知设备:
C:\Windows\system32>adb devices List of devices attached 1WMHH816LN0397 unauthorized emulator-5554 device
尝试在Android模拟器上运行Expo项目,执行expo start时触发错误:
This computer is not authorized for developing on Device 1WMHH816LN0397. Learn more: https://expo.fyi/authorize-android-device
该未知设备无法识别、无法物理移除或禁用,已尝试重启相关软件、拔掉所有外接设备、重启adb服务(adb kill-server + adb start-server),问题依旧。执行设备信息查询命令时返回未授权:
C:\Windows\system32>adb -s 1WMHH816LN0397 shell getprop adb.exe: device unauthorized. This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong. Otherwise check for a confirmation dialog on your device.
解决办法
清除ADB授权密钥
找到Windows上ADB的密钥存储目录C:\Users\<你的用户名>\.android,删除该目录下的adbkey和adbkey.pub文件,然后重启adb服务:adb kill-server adb start-server之后重新运行
adb devices,观察未知设备是否消失。强制指定Expo使用目标模拟器
直接让Expo忽略其他设备,指定模拟器启动项目:expo start --android --device emulator-5554或者启动Expo后,在终端按
a键,选择列表中的emulator-5554设备。卸载未知设备的驱动
打开Windows设备管理器,查看“便携设备”或“其他设备”分类,找到名称包含1WMHH816LN0397或状态异常的设备,右键选择“卸载设备”并勾选“删除此设备的驱动程序软件”,完成后重启电脑,再重启adb服务。彻底终止ADB进程后重启
执行以下命令强制结束所有adb相关进程,再重启服务:adb kill-server taskkill /F /IM adb.exe adb start-server检查模拟器网络设置
打开模拟器的网络设置,将网络模式切换为“NAT”或“自动”,然后重启模拟器和adb服务,避免网络桥接被识别为额外设备。
内容的提问来源于stack exchange,提问作者Asgeir
相关产品推荐
相关产品推荐

