首页 > 解决方案 > 如何控制 adb 使用哪个公钥来验证给定命令?

问题描述

当我连接到设备时,ADB 在我的USER /.android 目录中使用 adbkey 和 adbkey.pub进行身份验证。我希望能够使用不同的密钥(可能在该文件夹中或不同的目录中)来验证某些命令,有没有办法告诉它使用不同的密钥来 adbkey?

我知道帮助部分中描述了一个环境变量 $ADB_VENDOR_KEYS 但它已经知道在哪里可以找到密钥,因为它正在找到原始密钥,但它似乎没有尝试使用其他密钥进行身份验证原始一个失败。我一直在查看这里的文档:https ://developer.android.com/studio/command-line/adb以及许多 SO 问题和论坛页面的兔子洞,但除非我非常盲目,否则我找不到任何可以帮助我的东西。

标签: androidauthenticationcmdadbrsa

解决方案


不是一个很好的答案,但我想我会发布我将使用的解决方案,以防万一它对某人有所帮助。

ADB 服务器似乎一次只能处理一个 rsa 密钥——它必须被称为 adbkey/adbkey.pub 并且它必须位于 .android 文件夹中。我对 $ADB_VENDOR_KEYS 所做的一切似乎都没有改变。

起作用的是,您可以杀死服务器adb kill-server,然后删除文件夹中已经存在的密钥,然后重新启动服务器adb start-server,然后您可以使用在位期间生成的不同密钥start-server。这并不是一个完美的解决方案,但我可以让它适用于我的用例。


推荐阅读