Android доверяет хосту ADB (отпечаток RSA) без USB-подключения

Мы пытаемся автоматизировать развертывание встроенных приложений Android для тестирования устройств. Они распространяются как на собственные, так и на арендованные устройства - вот почему нам запрещено рутировать или перепрограммировать. У нас есть несколько агентов сборки, которые можно развернуть. Из-за этого мы используем ADB через TCP для развертывания.

Подготовка новых устройств для развертывания приложений - это большая проблема, поскольку мы должны подключить каждое устройство к каждому агенту сборки (и машине разработчика) хотя бы один раз, просто чтобы иметь возможность подтвердить диалоговое окно ADB «доверять этому устройству». У нас также есть некоторые устройства, в которых нет встроенных дисплеев и устройств ввода, для которых это большая работа.

Есть ли способ:

Подключите BuildAgentA к DeviceA (с USB) и каким-то образом поделитесь надежными отпечатками adb RSA для BuildAgentB и C без нужно ли вообще подключать DeviceA к этим агентам сборки? Так что впоследствии, с включенным adb через TCP, мы можем просто подключиться и развернуть BuildAgentB на DeviceA.

Ограничения:

  • Мы не можем или не можем рутировать устройства
  • Мы не можем или не можем прошивать устройства

person Wortex17    schedule 11.11.2019    source источник


Ответы (1)


Вы можете сгенерировать пару ключей, используя

$ adb kill-server
$ mkdir ~/tmp/mykeys
$ adb keygen ~/tmp/mykeys/mykey
$ export ADB_VENDOR_KEYS=~/tmp/mykeys/mykey
$ adb start-server

подключите устройства. Затем проделайте то же самое (но скопируйте вместо создания ключей) на других BuildAgents, и вы сможете подключиться к устройствам.

person Diego Torres Milano    schedule 12.11.2019
comment
По сути, я бы сгенерировал ключи на BuildAgentA, скопировал те же ключи на B и C, чтобы все они выглядели как одно и то же хост-устройство для DeviceA. Я правильно понял? - person Wortex17; 13.11.2019