ADB (Android Debug Bridge)
Клиент-серверное приложение, которое предоставляет доступ к работающему эмулятору или устройству. С его помощью можно копировать файлы, устанавливать скомпилированные программные пакеты и запускать консольные команды. Используя консоль, вы можете изменять настройки журнала и взаимодействовать с базами данных SQLite, которые хранятся на устройстве. В старых версиях SDK программа находилась в папке tools, теперь находится в папке platform-tools.
Состоит из трёх компонентов: фоновой службы (демона), работающей в эмуляторе, сервиса, запущенного на компьютере разработчика, и клиентской программы (наподобие DDMS), которая связывается со службой через Сервис.
Что бы увидеть весь список параметров и команд, которые можно запустить при помощи adb, введите в командной строке следующее (или в окне студии Terminal):
Если у вас есть файл приложения APK и вы хотите его установить на эмуляторе, то используйте команду:
d:\program.apk — это путь к файлу, который хотите установить в эмулятор. После этого установленное приложение появится в эмуляторе. Если приложение слишком большое (несколько мегабайт), то придётся немного подождать, пока установится. Во время установки в консоли курсор будет мигать, а потом появится надпись Success, что означает успешную установку программы.
Также можно удалить ненужную программу по имени его пакета:
Чтобы получить список запущенных эмуляторов и их серийные номера, используйте команду:
Вы увидите приблизительно такую картину:
Зная имя устройства, вы можете запустить на нужном устройстве требуемую команду:
Перезагрузить устройство. Если устройств несколько, то нужно указать нужное устройство.
Чтобы перезапустить сервер:
Сделать бэкап и восстановить из бэкапа можно так:
Для копирования файлов с устройства на компьютер и обратно используются команды pull и push.
Shell
Чтобы запустить оболочку (shell) на подключённом устройстве, выполните следующую команду:
С ним часто используют команды am и pm. Это не время, а сокращение от Application manager и Package Manager. Например, можно запустить сервис через намерение:
Для просмотра всех установленных приложений (пакетов):
Предоставить разрешение приложению/запретить.
Узнать информацию о конкретном приложении.
Получить список доступных системных свойств.
Если вы знаете свойство, то можно запросить его значение напрямую.
Получить список всех будильников.
Информация о всех видимых активностях.
Символ # обозначает приглашение оболочки (shell prompt).
Вы можете просмотреть список команд, доступных при работе в оболочке, введя следующую информацию по приглашению оболочки:
Список доступных команд (часть)
Чтобы просмотреть список каталогов и файлов, находящихся на корневом уровне (root-level), введите в командной строке оболочки следующую команду:
Для просмотра списка баз данных используйте команду:
В этом каталоге содержится список пакетов, установленных на устройстве. Для примера исследуем пакет com.android.providers.contacts:
Эта команда отобразит файл contacts.db и др., представляющие собой базу данных SQLite.
Logcat
Backup Manager
Monkey Stress Tester — Обезьяна с гранатой
Monkey ([android-sdk-path]**/platform-tools) — утилита для генерации случайных жестов на эмуляторе или устройстве, что напоминает движения глупой мартышки.
Для просмотра всех файлов базы данных *.db используйте команду:
Вы увидите, что в Android имеются следующие базы данных (зависимости от версии Android набор может варьироваться):
alarms.db
contacts.db
downloads.db
internal.db
settings.db
mmssms.db
telephony.db
Можно активировать команду sqlitе3 для одной из перечисленных баз данных, введя следующую информацию:
Для завершения работы с sqlite3 напишите:
Обратите внимание: приглашение для adb — это #, а приглашение для sqlitе3 — это sqlite>.
Запись видео с экрана
Вы можете записать видео с экрана вашего устройства (на эмуляторе не работает):
Затем можно сбросить на компьютер.
где /sdcard/my_app.mp4 – путь к файлу с видео (sdcard) и его имя (my_app.mp4).
Максимальное время записи равно трём минутам. Можно прервать запись (Ctrl+C).
Также вы можете управлять качеством записи, разрешением и другими параметрами с помощью следующих команд:
—size Задает разрешение, например: 1280×720. По умолчанию этот параметр установлен в соответствии с разрешением главного экрана устройства (если поддерживается), или 1280×720 – если нет.
—bit-rate Задает скорость потока видео (мегабиты в секунду). По умолчанию – 4 Мб/сек. Например, для записи со скоростью 6 Мб/сек, вам нужно будет ввести следующую команду:
—time-limit Задает максимальную длительность видео в секундах. По умолчанию установлено максимальное значение – 180 сек (3 минуты).
—rotate Поворот видео на 90 градусов. Экспериментальная опция.
—verbose Отображать информацию о процессе записи в окне командной строки.
В Android Studio вы можете начать запись через кнопку записи в панели Android DDMS (Alt-6).
Если вы хотите, чтобы на видео отображались «отпечатки» касаний к экрану, включите в настройках устройства в разделе для разработчиков опцию «Показывать нажатия» или «отображать касания».
Соединение через Wi-Fi
Обычно для тестирования программы на реальном устройстве использует USB-соединение. Предположим, кот уволок куда-то USB-кабель или расшатал USB-порт (ага, валите всё котов). В этом случае можно попробовать использовать Wi-Fi. Описанный ниже способ не гарантирует работоспособность на всех устройствах. Пробуйте.
Сначала соединитесь обычным способом через USB (не знаю, как вы собираетесь это сделать, если у вас утащили кабель и сломали порт). Включите Wi-Fi на компьютере и на устройстве.
Убедитесь, что устройство присоединено.
Ответ (у вас будет свой набор символов):
Меняем режим работы с USB на TCP/IP:
Теперь вам надо узнать IP-адрес вашего устройства. Пример для Nexus 7: Запускаем Настройки | О планшете | Общая информация | IP-адрес. Перепишите адрес на бумажку. Запускаем команду с этим адресом (у вас будет свой адрес).
Теперь можете отсоединить кабель. Отдайте его коту, пусть играет.
Проверяем, что устройство по прежнему на связи.
Отлично! Запускайте приложение и оно по воздуху установится на устройстве.
Учтите, что передача данных будет идти медленнее и для больших приложений будет не слишком удобно использовать данный способ. Хотя я особых тормозов не заметил для учебных примеров.
Если вам надо вернуться к старому способу, то вызываем команду:
Указанный способ очень удобен. Недаром на баше есть такие строчки:
Слава Wi-Fi! Котэ не может его перегрызть.
А вот другому повезло меньше и на баше описана его ситуация:
Звонок в техподдержку одного интернет-провайдера.
ТП(техподдержка): Добрый день! Я вас слушаю.
А (абонент): У меня тут проблема возникла.
ТП: Какая у вас проблема?
А: Я гонял кота шашкой и перерубил кабель.
Если бы абонент позаботился о настройке через Wi-Fi, то и проблемы бы не было.
Источник
Команда для android sdk
Инструмент android (на платформе Windows это командный файл android.bat, расположенный в каталоге tools установленного пакета Android SDK) предоставляет Вам команды для создания проектов всех трех типов. Проект приложения Android содержит все файлы и ресурсы, которые нужны для их сборки в конечный инсталляционный пакет (файл *.apk). Здесь представлен перевод материала «Managing Projects from the Command Line» [1].
Вы можете создать проекты следующих типов:
• Обычное приложение Android. Вы должны создать проект Android для любого приложения, которое Вы хотите в конечном счете установить на устройстве.
• Библиотека. Вы можете также назначить проект Android как проект библиотеки, которая может быть общей с другими проектами приложений, которые зависят от нее. После того, как проект Android был определен как проект библиотеки, он не может быть установлен на устройство.
• Тест. Тестовые проекты расширяют возможности тестирования JUnit для добавления функций, специфичных для Android. Для дополнительной информации по созданию тест-проекта см. документацию «Testing from other IDEs» (тестирование из других IDE).
[Создание проекта Android]
Чтобы создать проект Android, Вы должны использовать инструмент android (android.bat). Когда Вы создаете новый проект с android.bat, то он сгенерирует директорию проекта с некоторыми файлами приложения по умолчанию, файлами заглушек (stub files), конфигурационными файлами и файлом сборки (build file).
Чтобы создать новый проект Android, запустите окно командной строки (cmd.exe), перейдите в каталог tools установленного Android SDK (полный путь на платформе Windows может быть наподобие c:\Program Files\Android\android-studio\sdk\tools\), и выполните следующую команду:
Слеши в конце строк команды означают продолжение команды со следующей строки. Назначение отдельных опций:
• target это цель сборки (build target) для Вашего приложения. Соответствует библиотеке платформы Android (включая все дополнения, такие как Google API) на основе которого будет собран Ваш проект. Короче говоря, это API Level, цифровой идентификатор соответствующей версии Android, под управлением которой будет работать Ваша программа. Чтобы посмотреть список возможных целей и их соответствующие идентификаторы, выполните команду android list targets.
• name это имя Вашего проекта. Указывать его необязательно. Если имя указано, то оно будет использоваться для генерации имени файла Вашего .apk, когда собирается приложение.
• path место размещения директории (каталог, папка на диске) Вашего проекта. Если директория не найдена, то она будет создана для Вас.
• activity это имя класса активности по умолчанию (default Activity class). Этот файл класса будет создан для Вас внутри директории /src/ /. Это имя также используется для генерации имени файла .apk, за исключением того случая, когда Вы предоставили имя пакета инсталляции.
• package это пространство имен пакета для Вашего проекта, удовлетворяющее тем же правилам, как и у пакетов на языке программирования Java.
Как только Вы создали Ваш проект, то Вы готовы начат его разработку. Вы можете переместить папку проекта в любое место для разработки, но имейте в виду, что вы должны использовать Android Debug Bridge [2] (adb), размещенный в директории SDK platform-tools/ — чтобы отправить Ваше приложение в эмулятор (это будет обсуждено позже). Так что Вам необходим доступ между папками Вашего проекта и папкой platform-tools.
Совет: добавьте путь к папке platform-tools/, как и путь к папке tools/ в переменную окружения %PATH%.
Предостережение: нужно остерегаться от перемещения директории SDK, потому что это разрушит свойство SDK location, размещенное в local.properties. Если Вам нужно обновить место размещения SDK, то используйте команду android update project, подробнее см. следующую секцию.
[Обновление проекта]
Если Вы обновляете проект от старой версии Android SDK, или хотите создать новый проект их существующего кода, то используйте команду android update project. Это обновит проект под новое окружение разработки. Вы можете также использовать эту команду, чтобы пересмотреть цель сборки существующего проекта (которая задана опцией —target) и имя проекта (заданное через опцию —name). Скрипт android.bat сгенерирует все файлы и папки (перечисленные в предыдущей секции), которые либо отсутствуют, или должны быть обновлены, как это требуется для проекта Android.
Чтобы обновить имеющийся проект Android, откройте окно командной строки, перейдите в каталог tools/ Вашей инсталляции SDK и выполните команду:
• target это цель сборки (build target) для Вашего приложения. Соответствует библиотеке платформы Android (включая все дополнения, такие как Google API) на основе которого будет собран Ваш проект. Короче говоря, это API Level, цифровой идентификатор соответствующей версии Android, под управлением которой будет работать Ваша программа. Чтобы посмотреть список возможных целей и их соответствующие идентификаторы, выполните команду android list targets.
• path место размещения директории (каталог, папка на диске) Вашего проекта.
• name это имя Вашего проекта. Указывать его необязательно, если Вы не хотите изменить имя проекта.
[Создание проекта библиотеки]
Library Project (проект библиотеки) — это стандартный проект Android, так что Вы можете создать его точно таким же способом, как и новый проект приложения. Для этого точно также можно использовать скрипт android.bat.
Чтобы создать новый проект библиотеки, перейдите в каталог /tools/ и выполните команду:
Команда create lib-project command создаст стандартную структуру проекта, которая включает предустановленное свойство, показывающее системе сборки, что проект является библиотекой. Это происходит путем добавления такой строки к файлу project.properties проекта:
Как только команда завершится, будет создан проект библиотеки, и Вы можете перенести в него исходный код и ресурсы, как это описано в секциях ниже.
Если Вы хотите преобразовать существующий проект приложения в проект библиотеки, чтобы другие приложения могли его использовать, то Вы должны добавить строку свойства android.library=true в файл приложения project.properties.
Создание файла манифеста
Файл манифеста проекта библиотеки должен декларировать все общие компоненты (shared components), которые содержит библиотека, точно так же, как это происходит в стандартном приложении Android. Для дополнительной информации см. документацию по файлу AndroidManifest.xml [3].
Пример проекта библиотеки TicTacToeLib декларирует Activity GameActivity:
Обновление проекта библиотеки
Если Вы хотите обновить свойства сборки (build target, location) проекта библиотеки, используйте команду:
[Использование (по ссылке) проекта библиотеки]
Если разрабатываете приложение, и хотите включить в него общий код (shared code) или общие ресурсы из проекта библиотеки, то Вы можете сделать это простым добавлением ссылки (reference) на проект библиотеки в свойствах сборки проекта приложения.
Чтобы добавить ссылку на проект библиотеки, перейдите в каталог /tools/ и выполните команду:
Эта команда обновит свойства сборки проекта приложения, чтобы включить ссылку на проект библиотеки. В частности, это добавляет свойство android.library.reference.n в файл проекта project.properties file. Например:
Если добавляете ссылки на несколько библиотек, то имейте в виду, что Вы можете установить их относительный приоритет (и порядок присоединения), редактируя вручную файл project.properties, и подстраивая каждое значение индекса ссылки .n, как это необходимо. Предположим, имеются ссылки:
Вы можете поменять порядок ссылок, и дать самый высокий приоритет библиотеке library_projectC:
Имейте в виду, что индекс .n в ссылке должен начинаться с «1» и увеличиваться на единицу без пропусков. Ссылки, которые появились после дырки в индексе, будут игнорироваться.
Во время сборки все библиотеки будут присоединены к приложению по одной за раз, начиная от библиотеки с самым низким приоритетом (самой большой цифрой индекса), заканчиваю библиотекой с самым высоким приоритетом. Имейте в виду, что библиотека не может самостоятельно сослаться на другую библиотеку, и что во время сборки библиотеки не объединяются друг с другом, прежде чем будут объединены в приложении.
Декларирование компонентов библиотеки в файле манифеста
В файле манифеста проекта приложения Вы должны добавить декларации всех компонентов, которые приложение будет использовать импортированными из проекта библиотеки. Например, Вы должны декларировать все , , , и так далее, так же как и , , и тому подобные элементы.
Объявления должны сослаться на компоненты библиотеки своими полностью определенными именами пакета, где это необходимо.
Пример приложения TicTacToeMain декларирует библиотечное Activity GameActivity примерно так:
Дополнительную информацию по файлу манифеста можно получить из документации по AndroidManifest.xml [3].
Сборка зависимого от библиотеки приложения
Чтобы собрать проект приложения, которое зависит от одной или большего количества проектов библиотек, Вы можете использовать стандартные команды Ant режимов сборки и компиляции, как это описано в разделе Building and Running [4]. Инструментарий скомпилирует и объединит все библиотеки, на которые есть ссылка из приложения, как часть зависимого от библиотек приложения. Дополнительные команды или шаги не требуются.
Источник