ADB и тестирование приложений для Android.

Возможность запускать приложения Android на Chromebook — это здорово, она предоставляет пользователям доступ к обширной экосистеме Android, а разработчикам Android — возможность взаимодействовать с пользователями ChromeOS.

Разработчикам следует обязательно проверять свои приложения на разных форм-факторах, поскольку это поможет улучшить пользовательский опыт. Именно поэтому ChromeOS предоставляет разработчикам Android инструменты для развертывания и тестирования своих приложений на Chromebook.

Независимо от того, развертывают ли разработчики свои Android-приложения непосредственно из ChromeOS (используя Android Studio на вашем Chromebook) или с другого устройства, они могут использовать ADB для развертывания своих приложений и отладки различных взаимодействий с Chromebook. Для получения более подробной информации ознакомьтесь с приведенными ниже шагами.

Включить отладку ADB

Ранее использование ADB на Chromebook было возможно только в режиме разработчика, что требовало сброса настроек устройства и могло снизить безопасность. К счастью, начиная с Chrome 81, разработчики могут не переключать свои устройства в режим разработчика и по-прежнему развертывать разработанные ими приложения непосредственно в ChromeOS простым переключением тумблера. Вот как это сделать:

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

Включите Linux

После установки Linux откройте настройки Linux, и вы найдете новую опцию «Разработка приложений для Android», откройте её.

Включите отладку ADB, и компьютер перезагрузится.

Включить отладку ADB

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

На этом устройстве могут быть установлены приложения, не прошедшие проверку Google.

Теперь ADB позволяет развертывать приложения на вашем Chromebook, выполнять команды отладки и напрямую взаимодействовать с устройством.

Чтобы убедиться, что ваше Android-приложение хорошо работает на различных устройствах Chromebook и доступных форм-факторах, Google рекомендует протестировать его на следующих устройствах:

  • Chromebook на базе ARM-процессора
  • Chromebook на базе архитектуры x86
  • Устройство с сенсорным экраном и устройство без сенсорного экрана.
  • Устройство-трансформер, то есть устройство, которое может переключаться между режимами ноутбука и планшета.
  • Устройство со стилусом

Развертывание из ChromeOS

После включения отладки ADB вы можете загрузить Android-приложение непосредственно на ваше устройство ChromeOS с помощью Android Studio, или, если у вас есть APK-файл, вы можете загрузить его через Терминал.

Развертывание с помощью Android Studio

После настройки Android Studio и ADB, как описано выше, вы можете загружать свои приложения в контейнер Android на Chromebook непосредственно из Android Studio.

Chromebook появится в выпадающем списке устройств:

выпадающее меню устройств Android Studio

Теперь вы можете загружать своё приложение, как и на любое другое устройство Android! Диалоговое окно авторизации ADB появляется при первой попытке загрузки на новое устройство. После авторизации ваше приложение запустится в новом окне.

Подключитесь к устройству через ADB в Android Studio.

Вот и все, теперь вы можете развернуть приложение на Chromebook, протестировать и отладить его без необходимости работать в режиме разработчика.

Развертывание через терминал

При необходимости установите ADB:

sudo apt install adb

Подключитесь к устройству:

adb connect arc

При первой попытке развертывания на устройстве появляется всплывающее окно с запросом на авторизацию отладки по USB, и вам потребуется разрешить её.

Разрешение на подключение к устройству

Установите приложение из терминала:

adb install [path to your APK]

Установите приложение из терминала.

Развертывание с другого устройства

Если описанный выше метод недоступен и вам необходимо загрузить приложение с другого устройства, вы можете подключить устройство к ADB через USB или сетевой адрес .

Подключитесь к ADB по сети.

  1. Убедитесь, что отладка ADB включена.

Получите IP-адрес вашего Chromebook:

  1. Нажмите на часы в правом нижнем углу экрана.

  2. Нажмите на значок шестеренки.

  3. Выберите тип сети, к которой вы подключены (Wi-Fi или мобильные данные), а затем название сети.

  4. Запишите IP-адрес.

Подключитесь к своему Chromebook:

  1. Вернитесь к своему рабочему компьютеру и используйте ADB для подключения к Chromebook, используя его IP-адрес:

    adb connect 
  2. На вашем Chromebook нажмите «Разрешить», когда появится запрос о разрешении работы отладчика. Ваша сессия ADB установлена.

Устранение неполадок отладки ADB по сети

Иногда устройство ADB показывает, что оно находится в автономном режиме, хотя все подключено правильно. В этом случае выполните следующие шаги для устранения проблемы:

  1. Отключите отладку ADB в параметрах разработчика .
  2. В окне терминала выполните команду adb kill-server .`
  3. Повторно активируйте опцию отладки ADB .
  4. В окне терминала попробуйте выполнить команду adb connect .
  5. При появлении запроса на разрешение отладки нажмите «Разрешить ». Ваша сессия ADB установлена.

Подключение к ADB через USB

Чтобы загрузить APK-файл с другого устройства на Chromebook через USB, необходимо запустить ChromeOS в режиме разработчика , чтобы можно было настроить Chromebook и загружать приложения с хост-компьютера. В настоящее время это единственный метод, требующий режима разработчика, и он работает лишь на небольшом количестве устройств . Поэтому рекомендуется использовать ADB по сети . Если вы все же хотите продолжить, выполните следующие шаги, чтобы войти в режим разработчика .

  1. Убедитесь, что отладка ADB включена.
  2. Определите, поддерживает ли ваше устройство отладку по USB.
  3. Нажмите control + alt + t , чтобы запустить терминал ChromeOS.
  4. Введите shell , чтобы открыть командную оболочку bash:
    crosh> shell
    chronos@localhost / $
  5. Введите следующие команды для настройки устройства:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. После перезагрузки снова откройте терминал и выполните следующую команду, чтобы включить ADB на USB-порту Chromebook:
    $ sudo ectool usbpd  dr_swap

Используйте эту команду каждый раз, когда отключаете и снова подключаете USB-кабель. Чтобы убедиться, что ваш Chromebook находится в режиме UFP, вы можете запустить ectool usbpd .

  1. Подключите USB-кабель к совместимому порту вашего устройства.
  2. Запустите adb devices из инструментов платформы Android SDK на вашем компьютере, чтобы увидеть свой Chromebook в списке устройств, поддерживаемых ADB.
  3. На вашем Chromebook нажмите «Разрешить» , когда появится запрос о разрешении работы отладчика. Ваша сессия ADB установлена.