无USB连接的Android信任ADB主机(RSA指纹)

无USB连接的Android信任ADB主机(RSA指纹),android,debugging,usb,adb,monkeyrunner,Android,Debugging,Usb,Adb,Monkeyrunner,我们正在尝试自动部署内置android应用程序来测试设备。这些都是过度拥有和租赁的设备——这就是为什么我们被禁止生根或闪烁的原因。 我们可以部署多个构建代理。因此,我们使用ADB over TCP来处理部署 为应用程序部署准备新设备是一个大麻烦,因为我们必须至少将每个设备连接到每个构建代理(和开发机器)一次,才能确认ADB的“信任此设备”对话框。我们也有一些设备没有内置显示器和输入硬件,这是一个迂回的工作很多 有没有办法: 将BuildAgentA连接到DeviceA(使用USB)并以某种方式共

我们正在尝试自动部署内置android应用程序来测试设备。这些都是过度拥有和租赁的设备——这就是为什么我们被禁止生根或闪烁的原因。 我们可以部署多个构建代理。因此,我们使用ADB over TCP来处理部署

为应用程序部署准备新设备是一个大麻烦,因为我们必须至少将每个设备连接到每个构建代理(和开发机器)一次,才能确认ADB的“信任此设备”对话框。我们也有一些设备没有内置显示器和输入硬件,这是一个迂回的工作很多

有没有办法:

将BuildAgentA连接到DeviceA(使用USB)并以某种方式共享BuildAgentB&C的受信任adb RSA指纹,而不必将DeviceA连接到这些构建代理? 因此,在启用TCP上的adb之后,我们可以简单地从BuildAgentB连接并部署到DeviceA

限制:

  • 我们无法或不允许根设备
  • 我们不能或不允许闪存设备

您可以使用

$ adb kill-server
$ mkdir ~/tmp/mykeys
$ adb keygen ~/tmp/mykeys/mykey
$ export ADB_VENDOR_KEYS=~/tmp/mykeys/mykey
$ adb start-server
连接设备。
然后在其他BuildAgent上执行相同的操作(但复制而不是生成密钥),您应该能够连接到设备。

基本上,我会在BuildAgent上生成密钥,将相同的密钥复制到B&C,这样它们在DeviceA上看起来都像相同的主机设备。我理解得对吗?