React Native开发:如何让Linux主机的Android模拟器获adb授权?
我之前开发React Native时也碰到过一模一样的糟心情况,试了常规方法没用后,靠下面几个亲测有效的方案解决了,你可以挨个试试:
检查模拟器的授权弹窗:有时候模拟器启动后,授权USB调试的弹窗会被模拟器桌面或者其他窗口挡住,你切到模拟器界面仔细找找,勾选「始终允许此计算机调试」后点击允许就行。要是没看到,试试把模拟器切到后台再切回来,说不定弹窗就出来了。
重置adb密钥文件:
- 先停止adb服务器:
adb kill-server - 找到adb的配置目录:
- macOS/Linux:
~/.android - Windows:
C:\Users\<你的用户名>\.android
- macOS/Linux:
- 删除该目录下的
adbkey和adbkey.pub两个文件 - 重启adb服务器:
adb start-server - 重启模拟器,这时候应该会弹出授权窗口,点击允许即可。
- 先停止adb服务器:
检查adb与模拟器版本兼容性:API 27的模拟器比较老旧,如果你用的是新版本adb,可能存在兼容性问题。试试创建一个API 30及以上版本的模拟器,或者在Android Studio的SDK Manager里把Android SDK Platform-Tools更新到最新版本,再重新启动模拟器和adb。
强制重新连接模拟器:
- 确保模拟器正在运行,执行
adb kill-server - 手动连接模拟器:
adb connect localhost:5555 - 再执行
adb devices查看状态。如果还是不行,进入模拟器的「设置」->「开发者选项」->「撤销USB调试授权」,然后重复上面的步骤。
- 确保模拟器正在运行,执行
检查模拟器网络设置:有时候模拟器网络异常会导致adb授权失败,你可以试试把模拟器的网络模式改成「桥接模式」,或者在模拟器设置里重启网络,之后再重新连接adb。
内容的提问来源于stack exchange,提问作者Ilja




