Это НЕ требует рутирования вашего устройства, НЕ изменение кода вашего приложения, НЕ подписка на сторонний сервис, НЕ ваше приложение в Google Play. Если вы можете или хотите сделать некоторые из этих вещей, есть другие решения.
Однако это решение DOES требует, чтобы компьютер был рядом, включен и подключен к той же сети, где устройство подключено (не обязательно к inte rnet).
Начните с подключения устройства к компьютеру через USB, а затем запустите adb devices
, чтобы убедиться, что оно есть. Если он находит более одного устройства (например, эмулятор и телефон), отключите / закройте все, кроме того, которое вы хотите отлаживать, чтобы упростить задачу и не спутать одно устройство с другим. Затем запустите adb tcpip 5555
, чтобы переключить android в режим tcp, что позволит выполнять отладку по сети (вместо USB).
На этом этапе вам нужно найти IP-адрес вашего телефона, и вы можете сделать это различными способами. Самым простым является запуск adb shell ip -f inet addr show wlan0
, который ответит примерно так:
11: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.x.x/yy brd 192.168.0.255 scope global wlan0
valid_lft forever preferred_lft forever
Отключите устройство от USB компьютера обычным способом. Подключите его снова «по воздуху», набрав adb connect 192.168.x.x
, заменив x
на IP-адрес, указанный выше (сразу после inet
). Если устройство и ваш компьютер находятся в одной сети (например, один и тот же Wi-Fi или сочетание Wi-Fi и т. Д. rnet от одного маршрутизатора), он должен подключиться. В противном случае вам может потребоваться отладка сети, что представляет собой совершенно другую проблему (но обычно не обязательную).
Иногда вы можете подключиться к устройству, но оно отображается как «автономное». Большую часть времени ожидания в течение одной минуты автоматически решит проблему. Если в течение одной или двух минут проблема не устранится сама, вам необходимо отладить ее, например, как описано в этом вопросе
На этом этапе устройство должно появиться в выпадающем списке доступных устройства в Android Studio, и вы сможете отлаживать его, как если бы он был подключен через USB. Однако в некоторых случаях я обнаружил, что logcat в Android Studio не обновляется в этой настройке. Если это произойдет, запустите adb logcat
, и вы увидите logcat на компьютере. Это будет содержать слишком много информации, поскольку включает в себя все, что выполняется на вашем устройстве, а не только ваше приложение - поэтому вам нужно будет отфильтровать его, например, с помощью adb shell logcat --pid NNNN
, где NNNN
- это PID вашего приложения. Чтобы найти такой PID, запустите adb shell "ps -A | head -1; ps -A | grep -i com.example"
(используйте пакет java вашего основного занятия вместо com.example
), который ответит примерно так:
USER PID PPID VSZ RSS WCHAN ADDR S NAME
u0_a105 NNNN 1511 4970004 182688 0 0 S com.example
Когда закончите, запустите adb usb
, чтобы восстановить обычную USB-отладку телефона.