Отладка Android через Bluetooth - PullRequest
7 голосов
/ 20 июля 2011

Ранее я использовал adb для отладки приложений Android через wifi, usb - это было здорово.

Сейчас мне интересно, можно ли подключить телефон с adb через bluetooth.Я провел быстрое исследование, но ничего не нашел - вы уже пробовали это?

Ответы [ 2 ]

4 голосов
/ 20 июля 2011

Это не поддерживается текущим программным обеспечением adb, однако, возможно, вы могли бы сделать это возможным, если у вас есть рутированное устройство (или, возможно, даже если нет - см. Ниже), либо изменив adb, либо используя Bluetooth для туннелирования канала, который он делает.поддержка, такая как tcp.

Вам потребуется получить исходный код для программы adb - один и тот же источник используется для сборки как ПК, так и версий устройства.Первый шаг - просто собрать его с неизмененной функциональностью, что может потребовать значительного количества изменений системы сборки, если вы не сделаете это как часть полной сборки исходного кода Android (так, как это было задумано)

Затем вы измените его, добавив канал Bluetooth в качестве опции и установив его на устройстве (для чего вам нужен root) и на вашем пути на ПК.Вы могли бы подумать, что можете запустить его из другого места на ПК, и, скорее всего, сможете, если вы используете его из командной строки, но если вы запустите DDMS, это может привести к отключению работающего сервера adb и запуску нового.используя путь по умолчанию, поэтому в конечном итоге вам придется поместить туда измененную версию.

ЕСЛИ вы уже можете заставить ваше устройство принимать соединения adb через tcp (возможно с root,возможно, возможно, в некоторых случаях и без), есть другая опция, которая заключается в том, чтобы не изменять ADB (или, по крайней мере, не изменять сторону устройства), а вместо этого придумать что-то, работающее на устройстве, которое принимает соединения Bluetooth и перенаправляет трафик через локальную обратную связь впорт tcp, на котором работает фондовый adb.Это избавило бы от необходимости перестраивать adb.

Если у вас есть какое-либо решение для привязки или аналогичное решение для сети через Bluetooth, вы можете даже использовать его для переноса adb-over-tcp-over-bluetooth без написания какого-либо кода.

Наконец, обратите внимание, что не обязательно на 100% запускать демон adb как более привилегированный ID пользователя или устанавливать его вместо официального - вы можете запустить демон adb как обычное приложение и выполнять множествоожидаемых вещей с ним.Однако, какой бы ни был запущен демон adb, он будет захватывать сокет отладки java домена unix, и поэтому только тот демон adb сможет предоставить полные сервисы отладки java.Более примитивные вещи, такие как logcat, shell, список запущенных процессов, push / pull и т. Д., По крайней мере, частично будут работать без этого, при условии, что ваш демон adb не завершает работу (может потребоваться изменение), когда он не может запросить сокет отладки.Если вы можете убить официальный демон adb и использовать условие гонки, вы можете запустить неофициальный до его перезапуска - вам, вероятно, понадобится скрипт или программа, чтобы сделать это, и запустить его с setsid из официального adb.shell, то есть вам сначала нужно подключиться через USB.В этот момент вы также сможете запустить неофициальный демон adb с тем же идентификатором пользователя, что и официальный.

Возможно, вы захотите потратить некоторое время на оценку или тестирование производительности (скорости).) будет удовлетворительным, прежде чем тратить много времени на настройку по-настоящему.

1 голос
/ 17 июня 2012

Я знаю, что это немного устарело, но я, кажется, нашел сообщение, которое делает это. Вся благодарность автору fomori.org за то, что он нашел это и сделал доступной информацию. Сегодня это помогло мне, может быть, завтра я помогу тебе, чтобы было легче найти.

Источник

...