Android From Scratch: как запустить приложение на физическом устройстве
() translation by (you can also view the original English article)
Большинство телефонов и планшетов Android можно подключить к компьютеру с помощью USB-кабеля. Однако по умолчанию соединение USB, установленное между Android-устройством и компьютером, ограничено только передачей файлов.
Поэтому, если вы хотите использовать свое устройство для разработки приложений для Android, вам необходимо внести несколько изменений в конфигурации как на вашем устройстве, так и на вашем компьютере. В этом кратком уроке я покажу вам, как внести эти изменения.
Предпосылки
Чтобы следовать, вам нужно:
- последняя версия Android SDK
- Android-устройство под управлением Android 4.2 или выше
1. Настройка устройства Android
Поскольку большинство пользователей Android не являются разработчиками приложений, на устройствах под управлением Android 4.2 или выше все настройки, предназначенные для разработчиков приложений, по умолчанию скрыты. Чтобы показать эти настройки, откройте приложение Настройки на устройстве и перейдите на экран О телефоне. Затем прокрутите вниз до номера сборки и нажмите на нее семь раз.



Когда вы это сделаете, вы сможете увидеть меню параметров разработчика. Откройте его и убедитесь, что опция отладки USB отмечена.



Кроме того, я предлагаю вам проверить включенный режим Strict и показать параметры использования CPU. Если эти параметры включены, вам легче понять, отклонились ли вы от рекомендуемых практик написания кода.



На этом этапе ваше устройство можно использовать для разработки приложений. Используйте USB-кабель для подключения к компьютеру.
2. Конфигурирование компьютера
Изменения конфигурации, которые необходимо выполнить на вашем компьютере, зависят от выполняемой операционной системы. В этом кратком совете мы сосредоточимся на OS X, Windows и Ubuntu.
OS X
В OS X вам не нужно вносить какие-либо изменения.
Windows
В Windows 7 или более поздней версии вам необходимо загрузить и установить драйвер USB оригинального оборудования для вашего устройства Android. Обычно такой драйвер можно найти на веб-сайте производителя устройства. Однако, если вы используете какие-либо телефоны или планшеты Google Nexus, вы должны установить драйвер Google USB.
Ubuntu
На большинстве вариантов Ubuntu конфигурация немного сложнее. Во-первых, вы должны определить идентификатор поставщика USB вашего устройства. Для этого вы можете использовать команду lsusb
.
1 |
lsusb --verbose
|
Теперь вы можете увидеть связанные с USB сведения обо всех устройствах, подключенных к компьютеру через USB. В разделе Описание устройства найдите имя компании, производящей ваше устройство, и обратите внимание на значение поля idVendor. Значение должно быть четырехзначным шестнадцатеричным числом.
Затем, как суперпользователь, создайте новый файл и назовите его /etc/udev/rules.d/51-android.rules.
1 |
sudo vi /etc/udev/rules.d/51-android.rules
|
Добавьте в этот файл следующее правило udev:
1 |
SUBSYSTEM=="usb", ATTR{idVendor}=="YOUR_VENDOR_ID", MODE="0666", GROUP="plugdev" |
Наконец, используйте команду chmod
, чтобы позволить всем пользователям системы читать 51-android.rules.
1 |
sudo chmod a+r /etc/udev/rules.d/51-android.rules
|
3. Создание локального соединения
Теперь, когда настроено ваше Android-устройство и ваш компьютер, вы можете запустить сервер Android Debug Bridge или сокращенный ADB, чтобы автоматически установить соединение между ними.
Перейдите в каталог platform-tools Android SDK и используйте команду adb start-server
для запуска ADB.
1 |
adb start-server |
Как только сервер будет готов, на экране вашего устройства появится диалоговое окно с просьбой подтвердить, хотите ли вы разрешить отладку USB. Диалоговое окно также содержит отпечаток ключа RSA вашего компьютера. Нажмите OK, чтобы установить соединение USB.
С этого момента вы можете использовать свое устройство вместо эмулятора Android при разработке приложений. Если вы используете Android Studio, нажав кнопку Запустить на панели инструментов, вы сможете увидеть свое устройство в списке запущенных устройств.



4. Установление соединения через Wi-Fi
Многие разработчики Android владеют несколькими телефонами и планшетами Android, чтобы увидеть, как их приложения выглядят и ведут себя на разных размерах экрана и версиях Android. Использование всех этих устройств, подключенных к компьютеру с помощью USB-кабелей, может быть неудобным. Поэтому ADB также позволяет разработчикам подключаться к своим устройствам через Wi-Fi.
Чтобы настроить устройство для отладки через соединение Wi-Fi, подключите его к компьютеру с помощью USB-кабеля. Кроме того, убедитесь, что и компьютер, и устройство подключены к той же сети Wi-Fi. Теперь вы должны открыть порт на устройстве, на котором он может прослушивать соединения TCP / IP, используя команду adb tcpip
. Например, вот как вы открываете порт 5565:
1 |
adb tcpip 5565 |
Затем вам нужно определить IP-адрес устройства. Для этого откройте приложение Настройки на устройстве, перейдите на экран О телефоне и нажмите Состояние. Вы можете видеть его IP-адрес в форматах IPv4 и IPv6 под заголовком IP-адреса.



Теперь, когда вы знаете как его IP-адрес, так и номер порта, вы можете отключить свое устройство от своего компьютера и подключиться к нему через Wi-Fi, используя команду adb connec
t. Например, если IP-адрес вашего устройства равен 192.168.0.2, вот как вы могли бы подключиться к нему:
1 |
adb connect 192.168.0.2:5565 |
С этого момента вы можете использовать устройство для разработки приложений Android так же, как если оно подключено через USB.
Заключение
В этом кратком уроке вы узнали о настройке как вашего Android-устройства, так и вашего компьютера для отладки с подключением USB. Вы также узнали, как настроить соединение ADB через Wi-Fi.
Очень важно, чтобы вы видели, как ваше приложение ведет себя на как можно большем количестве физических устройств, особенно если вы планируете опубликовать свое приложение в Google Play. Почему так? Устройства Android, как правило, имеют причуды и ограничения, которые, если их оставить неучтенными, могут привести к тому, что ваше приложение будет вести себя некорректным образом или даже даст сбой.
Если вы не владеете всеми устройствами Android, которые хотите поддерживать, вы можете использовать Google Cloud Test Lab, который позволяет легко запускать и тестировать ваше приложение практически на всех популярных устройствах Android.