0

我使用像素 2xl 和 macbook pro 进行开发。几个月以来,我有一个问题一直困扰着我。当我将手机连接到电脑时,我得到经典的弹出窗口,询问“允许 USB 调试?计算机的 RSA 密钥指纹是:xx:xx:xx:xx:xx:.....xx:xx”然后是框使用“始终允许来自这台计算机”和两个按钮“取消”和“允许”。问题是我得到了两个不同的键指纹,一个不适用于 android studio,我必须单击“取消”并打开和关闭“Usb 调试”开关,直到我最终得到正确的键。我尝试卸载 Android Studio 和所有相关文件夹,遵循如何在 Mac 上完全卸载 Android Studio? 当电脑上没有安装任何东西时,我仍然在消息上得到了流氓密钥指纹。我试图删除唯一的 adbkey.pub 并且只有好的密钥指纹发生了变化。我试图在设备上“撤销 USB 调试授权”,但没有。我运行“ps aux | grep adb”,但当我仍然获得流氓密钥指纹时,没有运行 adb。我的电脑上似乎也没有其他 adbkey 文件。

这个流氓钥匙指纹是从哪里来的?如何摆脱它?这严重地让我的发展日变得非常痛苦。谢谢

4

1 回答 1

3

我想我终于找到了解决方案:

重要提示:诊断问题对于从设备上的开发人员选项中“撤消 USB 调试授权”至关重要,并且永远不要选中“始终允许来自此计算机”。如果您改为选中该选项,则不会出现弹出窗口,您可能会发现自己已连接但使用了错误的 RSA 密钥。在 android studio 中,您会看到您的设备已连接到 USB 列表中,但不是 android 设备。这看起来是连接(电缆等)的问题,但连接机制正在工作,只是由于指纹错误,Android Studio 将无法使用它。

流氓 RSA 密钥指纹是由检查触发chrome://inspectDiscover USB devices。此选项允许您查看没有 adb 的 Android 设备,因此它可能会使用自己的证书模仿 adb 的行为。这是 chrome 开发人员犯的一个大错误,因为它会干扰 Android Studio 的行为!它不会将它在~/.Android文件夹中使用的证书存储在 a 中adbkey.pub,因此很难发现问题。我使用 chrome inspect 使用 facebook 查看我的应用程序的数据库stetho。我总是打开一个标签,这让我最后两个月的编码简直是地狱!希望这可以帮助某人。

于 2020-05-04T16:00:18.167 回答