物理设备无法在 Android Studio 中工作:多个 RSA 密钥指纹,但只有一个 adbkey.pub

Physical devices not working in Android Studio: Multiple RSA key fingerprints but only one adbkey.pub

我使用 pixel 2xl 和 macbook pro 进行开发。我有一个问题几个月以来一直困扰着我。当我将 phone 连接到 PC 时,我得到经典的弹出窗口询问 "Allow usb debugging? The computer's RSA key fingerprint is: xx:xx:xx:xx:xx:.....xx:xx",然后是带有 "Always allow from this computer" 的框和两个按钮 "cancel" 和 "allow"。 问题是我得到了两个不同的密钥指纹,一个不适用于 android 工作室,我必须单击 "cancel" 并打开和关闭 "Usb debugging" 开关,直到我最终得到右键。 我尝试按照 How to completely uninstall Android Studio on Mac? 卸载 Android Studio 和所有相关文件夹 当 PC 上没有安装任何东西时,我仍然在消息中收到恶意密钥指纹。 我试图删除唯一的 adbkey.pub 并且只有好的密钥指纹发生了变化。我尝试在设备上 "Revoke Usb debugging authorizations" 但没有。我 运行 a "ps aux | grep adb" 并且没有 adb 运行ning 当我仍然得到恶意密钥指纹时。我的电脑上似乎也没有其他 adbkey 文件。

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

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

重要:从设备上的开发人员选项"Revoke USB debugging authorisations"诊断问题是必不可少的,永远不要检查"Always allow from this computer"。如果您改为选中该选项,则不会出现弹出窗口,您会发现自己已连接但使用了错误的 RSA 密钥。在 android studio 中,您会看到您的设备连接在 USB 列表中,但不是 android 设备。这看起来像是连接(电缆等)的问题,但连接机制正在工作,只是 Android Studio 由于指纹错误而无法使用它。

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