我正在尝试在带有PlayServices的Pixel模拟设备中使用Android R进行调试,但是“允许USB调试”对话框一显示就立即关闭,因此我无法单击“允许”以使AS连接到AVD。我进入Android开发者选项将USB调试开关关闭并重新打开,但是对话框再次一显示就立即关闭。我尝试杀死/启动ADB并卸载所有AS/用户配置等,然后重新安装,但结果没有解决。有人知道原因吗?
看起来这个问题与你的模拟器API版本有关,在进行了一些测试后,我发现Pixel 4 API 30会出现你遇到的问题,而其他版本则不会。
另一个奇怪的事情是,当你开始一个新会话时,它会再次询问你是否允许,尽管我已经点击了“始终允许此设备”按钮。
清除数据后,该选项将弹出并保持显示。勾选“始终允许在此设备上进行调试”框,然后你就可以开始了。
尝试删除以下位置中的文件adbkey
和adbkey.pub
:
~/.android/adbkey/
在Linux上%UserProfile%\.android
在Windows上%ANDROID_SDK_HOME%\.android
如果设置了,则在Windows上adb kill-server
adb devices
清空模拟器数据后重启。然后授予“USB调试”权限,并将其显示为可调试设备。
这个问题只会出现在google_apis_playstore
设备上,参见这里。我认为的原因是,如果模拟器上已经存在其他密钥,则adb只会复制key文件。因此,删除模拟器上的文件可能也能解决该问题。
ANDROID_SDK_HOME
或 ANDROID_PREFS_ROOT
变量吗?确保在任何可能存在的.android
目录中删除任何旧的密钥。如果是这样,就不应该出现对话框,密钥将自动复制到您的设备上,因此您应该能够进行调试而无需确认 :) - User Rebo~/.android/adbkey.pub
获取你的公钥/data/misc/adb/adb_keys
中(如果不存在则创建)然后您就可以直接连接了。
我通过以下步骤解决了这个问题:
上述步骤导致没有任何对话框出现,很奇怪,然后我查看了Android Studio,发现模拟器已经连接。