На пути к изучению разработки под Android вы наверняка встретите инструмент командной строки, используемый для отладки, который называется ADB (Android Debug Bridge). Продолжайте читать, чтобы узнать больше о том, что вы можете сделать с помощью этого основного инструмента, общего для всех разработчиков Android.
Часть 0: Начало работы
Это руководство предназначено для разработчиков Java, только начинающих изучать Android, но он знаком с Eclipse и установил Android SDK и плагин Android Developer для Eclipse. Читатели также должны быть знакомы с командной строкой. Если вы еще не готовы, посмотрите предыдущие уроки этой серии .
Шаг 1: Использование команды ADB
Инструмент ADB запускается из командной строки.
В командной строке просто введите:
1
|
adb
|
Это запускает ADB и показывает список групп команд.
Если вы не видите список команд, вернитесь и проверьте параметры установки и пути к среде, как описано в предыдущих руководствах. Возможно, у вас установлена программа ADB, но если у вас не настроена переменная среды PATH вашей оболочки, вам потребуется ввести полный путь к файлу ADB в терминале, чтобы запустить программу. Выполнено? Хорошо.
Итак, вернемся к этому списку команд. Инструмент ADB служит двум целям. Первый — позволить другим инструментам Android взаимодействовать с устройствами и эмуляторами. Второе — позволить вам, разработчику, общаться с устройствами и эмуляторами, выполняя различные команды вручную.
Команды АБР входят в две формы. Одна форма команды, которую вы запускаете прямо из АБР. Другая форма команды, которая не является напрямую ADB, но обычно выполняется через ADB, выполняется с помощью команды «adb shell».
Теперь, прежде чем продолжить, запустите экземпляр эмулятора или устройство Android, подключенное к вашей машине для разработки. Теперь, если вы используете команду устройств ADB, она должна перечислить все подключенные устройства или экземпляры эмулятора:
1
|
adb devices
|
Вы должны увидеть что-то вроде этого:
Если нет, убедитесь, что ваш эмулятор работает, или перезапустите сервер ADB.
Шаг 2. Перезапуск сервера ADB
Чтобы перезапустить сервер ADB, вот еще одна команда для вас:
1
2
|
adb stop-server
adb start-server
|
Как только вы будете готовы, продолжайте. Мы рассмотрим много команд в произвольном порядке.
Часть 1. Обычные команды
Здесь представлены различные команды, запускаемые напрямую через ADB. За этим последуют несколько команд, которые сначала требуют открытия оболочки.
Толкай и тяни
Вы можете копировать файлы на подключенное устройство и с него, используя команды ADB push и ADB pull.
1
2
|
adb push <local source file path> <device destination file path>
adb pull <device source file path> <local destination file path>
|
Эти команды очень полезны для таких вещей, как обновление предпочтительных XML-файлов для вашего приложения во время тестирования и других подобных вещей.
Установка и удаление приложения
Вы можете использовать ADB для установки или удаления приложений (apks) с ваших устройств. Используйте команду install для установки файла пакета Android /
1
|
adb install <file path to apk>
|
Кроме того, вы можете удалить существующее приложение по имени пакета.
1
|
adb uninstall <package name>
|
Вам может понадобиться удалить приложения, если вы перемещаетесь между компьютерами разработки, которые не используют один и тот же ключ подписи приложения. Это также быстрый способ очистки или загрузки устройства без использования Eclipse и плагина ADT.
Резервное копирование и восстановление
Вы можете сделать резервную копию и восстановить содержимое устройства. Это имеет ограничения для устройств, которые не имеют рута.
1
2
|
adb backup
adb restore <archive name>
|
Смотрите ‘adb help’ для всех опций резервного копирования и восстановления. Это может быть полезно для сохранения данных приложения во время тестирования, а затем для легкого восстановления этих данных для повторного тестирования.
Перезагрузка устройства
Вы можете перезагрузить устройство либо в обычном режиме, в загрузчик, либо в режим восстановления.
1
2
3
|
adb reboot
adb reboot recovery
adb reboot bootloader
|
По нашему опыту, они не подходят для эмулятора. Однако бывают случаи, когда устройства Android запутываются и требуют полной перезагрузки.
Shell Shell
У инструмента ADB есть интерфейс оболочки. Чтобы выполнить команды оболочки, вы должны сначала запустить этот интерфейс, набрав adb shell:
1
|
adb shell
|
После запуска вы окажетесь в среде bash. Вы можете запустить команды bash, такие как df, чтобы показать свободное место на диске, время безотказной работы, чтобы увидеть, как долго работает устройство, или выйти, чтобы выйти из интерфейса оболочки:
Если вы не знакомы с Linux, вам может быть сложнее передвигаться в оболочке. В Интернете есть множество руководств, которые предоставят вам помощь для команд bash, таких как ls, cp, cd и так далее.
Часть 2: Команды оболочки
Вот несколько специальных команд, которые вы можете запускать в оболочке. Не все команды оболочки ADB работают на физических устройствах или эмуляторах.
Logcat
Вы можете использовать команду logcat для просмотра результатов журналирования так же, как в Eclipse:
1
2
3
|
adb shell
logcat —help
logcat -t 5
|
Есть много опций, доступных с помощью инструмента logcat. По умолчанию вывод поступает в режиме реального времени, так же, как при просмотре в Eclipse. Приятной особенностью является то, что вы можете отправить вывод в файл, используя опцию -f.
Менеджер резервного копирования
Инструмент bmgr — это менеджер резервного копирования. Вы можете использовать этот инструмент для запуска операций резервного копирования и восстановления данных на уровне приложений. Ваше приложение должно поддерживать резервные копии, чтобы это было полезно.
Обезьяна стресс-тестер
Вы можете использовать инструмент обезьяны для тестирования ваших приложений. Это имитирует различные события пользовательского ввода, очень похожие на стук обезьяны или малыша по клавиатуре. Используйте это для стресс-тестирования.
Инструмент обезьяны также может быть написан с помощью сценариев и поддерживает повторяющиеся потоки событий через ключ -s, поэтому тесты можно просматривать и повторять.
SQLite 3
Вы можете запускать команды sqlite и взаимодействовать с базами данных приложений, используя оболочку adb. Вам потребуется доступ на чтение / запись к базам данных, которые вы хотите проверить или изменить (другими словами, ваши собственные приложения, а не другие).
Вывод
Вы видели многое из того, что АБР может сделать для вас. От перебора файловой системы до перезапуска устройств и запуска команд sqlite вы ничего не можете сделать. Мы также гораздо больше, чем то, что мы рассмотрели, включая управление сетевыми подключениями, переадресацию портов, отладочные дампы и множество команд оболочки, чтобы занять вас. См. Официальную документацию АБР для исчерпывающего списка функций
Вы на пути к разработке Android. Какие приложения вы с нетерпением ждете? Дайте нам знать об этом в комментариях!
Об авторах
Разработчики мобильных приложений Лорен Дарси и Шейн Кондер являются соавторами нескольких книг по разработке Android: углубленная книга по программированию под названием « Разработка беспроводных приложений для Android» (в третьем выпуске в виде двухтомника), « Самс научи себя разработке приложений для Android за 24 часа» , и Изучение программирования приложений для Android для Kindle Fire: практическое руководство по созданию вашего первого приложения для Android . Когда они не пишут, они тратят свое время на разработку мобильного программного обеспечения в своей компании и оказание консультационных услуг. С ними можно связаться по электронной почте [email protected] , через их блог на androidbook.blogspot.com и в Twitter @androidwireless .