Консольный android: 50 команд adb, о которых должен знать каждый
Содержание:
- Лучшая статистика батареи
- Команды Fastboot
- What is ADB Shell?
- Naptime
- Установка
- Global options
- Продвинутый уровень
- Консоль в консоли
- Команды ADB
- ADB Shell KeyEvent commands
- Основные команды
- Install ADB and Fastboot Platform Tools
- ADB Shell Commands for Reference
- Копаем recovery
- Как установить прошивку через Fastboot
- root, да не тот
- Команды ADB
- Подготовка
- Бэкап приложений
- Топ команд и лайфхаков в Android
- 1. Adb команда adb devices
- 2. Adb команда adb reboot normal
- 3. Adb команда adb install -r
- 4. ADB команда adb shell pm list packages
- 5. ADB команда запуска приложения
- 6. Adb команда adb shell su -c «команда»
- 7. Linux команда mount
- 8. Linux команда cd
- 9. Используйте Linux команду pwd и ls
- 10. Linux команда chmod
- 11. Fastboot команда erase
- 12. Fastboot команда boot
- Использование пакета ADB Run
Лучшая статистика батареи
Поиск приложений, вызывающих разрядку аккумулятора телефона, — загадка. Откуда вы знаете, что конкретное приложение переходит в состояние сна, когда вы выходите из него? И как вы можете измерить эффективность приложений для экономии заряда аккумулятора, таких как Naptime?
Better Battery Stats извлекает подробные данные о вашей батарее. Он показывает приложения, которые выводят ваше устройство из состояния глубокого сна, обнаруживает необычные изменения в поведении и происходящем за кулисами, а также собирает информацию об использовании приложений и блокировках пробуждения. Данные отображаются в разных категориях — начиная с загрузки, отключения, отключения экрана и т. Д.
Настройка ADB
Ранее это приложение было доступно только для рутованных устройств. Но с АБР любой может начать использовать его. Вставьте и выполните эти команды по порядку:
Уникальные черты
- Показывает экран по отношению к бодрствующему. В идеале время экрана должно быть равно времени пробуждения.
- Найдите изменения в профиле пробуждения / сна и быстро определите мошеннические приложения.
- Статистика заряда батареи показывает вам подробные метрики Doze, чтобы вы могли проверить, насколько эффективны приложения по экономии заряда батареи.
- Он может выбирать приложения, которые приводят к частичным wakelocks или приложениям, которые используют CPU в wakelocks ядра.
Скачать: Лучшая Статистика Батареи (2 $)
Команды Fastboot
- – вывод списка подключенных устройств, загруженных в режиме fastboot;
- – перезагрузка устройства, запуск Android;
- – перезагрузка устройства в режим восстановления (recovery);
- – проверка состояния загрузчика;
- – на старых устройствах, например, на всех моделях Google Nexus;
- – разблокировка загрузчика на новых устройствах, например, на всех моделях Google Pixel;
- – разблокировка загрузчика на устройствах, которые требуют прохождения процедуры получения кода. К таким устройствам относятся смартфоны и планшеты Xiaomi, Sony, HTC, Huawei, Honor и многих других производителей. Количество символов в коде подтверждения может отличаться;
- – блокировка загрузчика на старых устройствах;
- – блокировка загрузчика на новых устройствах;
- – блокировка загрузчика на устройствах, которые требуют прохождения процедуры получения кода;
- – вывод технической информации об устройстве, которая включает данные об IMEI, серийном номере, версии загрузчика, состоянии батареи и прочие сведения.
What is ADB Shell?
ADB commands can be used to debug Android devices, installing or uninstalling apps, and getting information about a connected device. ADB works with the aid of three components called Client, Daemon, and Server. If you are curious about how these 3 components work together to make ADB and ADB shell commands functions, see below:
- Client: It’s is very computer on which you use a command-line terminal to issue an ADB command. which sends commands.
- Daemon: Or, ADBD is a background process that runs on both the connected devices. It’s responsible for running commands on a connected emulator or Android device.
- Server: It runs in the background and works as a bridge between the Client and the Daemon and manages the communication. which manages communication between the client and the daemon.
ADB Shell commands provide access to a Unix Shell that runs a command directly on your Android device. As soon as you execute an ‘adb shell’ command on the command terminal, it sends a signal to your Android device and triggers the remote shell command console. Thus ADB shell commands let you control your Android device.
Using ADB commands, you can reboot your device, push and pull files, create a backup and restore it, sideload an update zip package, or an APK. ADB Shell commands, however, work on a much deeper level. They can be used to change the resolution of your device display, uninstall bloatware or system apps, enable and disable features, modify the system files, and change their configuration directly using commands from your computer.
Actually, there are more tasks you can perform using these commands, and below we’ll check them all with examples. Please note that there are three prerequisites before you can make use of ADB, Fastboot, and ADB shell commands.
- Android SDK Platform-tools
- USB Drivers for your Android device
- Enable USB Debugging
Now you can use Web ADB in a web browser window to run ADB commands on an Android device or computer without installing ADB and Fastboot tools and USB drivers.
Finally, without any further ado, let’s proceed with our list of ADB Shell commands.
Warning: Don’t use the commands mentioned on this page unless you know how to use them and have some prior knowledge or experience.
Naptime
Doze – удивительная особенность Android. Он снижает потребление заряда батареи, приостанавливая фоновую загрузку ЦП и сети, когда экран вашего устройства выключен, отключен от сети и находится в стационарном состоянии. Он был представлен в Android 6, в то время как Android 7 принес дальнейшие улучшения.
Эта функция блокирует блокировку (если есть), временно останавливает механизмы синхронизации и предотвращает сканирование Wi-Fi и GPS. Naptime улучшает реализацию Doze с большим количеством функций. Он навязывает агрессивную Doze и пинает через несколько минут после выключения экрана.
Настройка ADB
Вставьте эту команду:
. adb -d shell pm grant com.franco.doze android.permission.DUMP
Далее введите эту команду:
. adb -d shell pm grant com.franco.doze android.permission.WRITE_SECURE_SETTINGS
После получения доступа, белый список Naptime от оптимизации батареи Android (Настройки> Приложения и уведомления> Показать все приложения X> Naptime> Дополнительно> Батарея> Оптимизация батареи) чтобы он мог нормально работать.
Уникальные черты
- Приложение простое в использовании без каких-либо сложных меню или настройки. Просто переключите параметры, перечисленные в приложении.
- Он дает вам подробную статистику Doze и историю, чтобы узнать, когда Doze начался или остановился.
- Если вы используете Tasker или MacroDroid, вы можете включить или отключить Doze по требованию.
Скачать: Naptime (бесплатно)
Установка
И так, перейдем, собственно, к установке. Для этого нам понадобится:
- Устройство на базе процессора ARM или ARM64;
- Подключение к интернету;
- До 5 минут свободного времени;
Ну а теперь, сам процесс установки:
-
Установите на свой девайс приложение Termux. Это бесплатное приложение, его можно загрузить с Google Play.
Termux
Developer: Fredrik FornwallPrice: Free
- Запустите Termux и дождитесь окончания настройки рабочего окружения. Обычно этот процесс длится не более 30 секунд.
- Далее, существует два режима установки — обычный и тихий. При установке в обычном режиме на экран будет выводиться дополнительная информация о статусе загрузки необходимых файлов, в то время как в тихом режиме будет выведено минимум информации и все будет выглядеть минималистично и красиво. Рекомендуется тихий режим установки.
Для обычной установки, скопируйте и вставьте следующую команду в командную строку Termux, после чего нажмите Enter:
Если же вы хотите выполнить установку в тихом режиме, необходимо выполнить следующую команду:
обычная установка слева, «тихая» справа
Независимо от режима установки, длительность процесса не должна превышать 2-3 минуты.
Global options
Listen on all network interfaces instead of only on .
Direct an adb command to the only attached USB device. Returns an error when more than one USB device is attached.
Direct an adb command to the only running emulator. Returns an error when more than one emulator is running.
Direct an adb command to a specific device, referred to by its adb-assigned serial number (such as emulator-5556). Overrides the serial number value stored in the environment variable.
The name of the adb server host. The default value is .
The adb server port number. The default value is .
Listen on the provided adb server socket. The default value is .
Продвинутый уровень
В одной из своих статей я показывал, как можно доставать информацию из баз данных различных приложений. Ну а теперь посмотрим, как проделать это прямо из консоли, не качая базы на комп и не устанавливая на устройство просмотрщики баз. Для этого используется команда sqlite3. Выведем на экран историю браузера Chrome:
$ cd /data/data/com.android.chrome $ su # sqlite3 app_chrome/Default/History > .schema urls > select * from urls where url like «%android%»;
Чтобы база читалась, необходимо выгрузить браузер из работающих приложений. Прервать выполнение скрипта sqlite можно, нажав Ctrl + Z, а выйти — командой .quit. Если в ответ на команду ты получишь ошибку /system/bin/sh: sqlite3: not found, значит, на смартфоне нет sqlite3 и ее придется скачать, закинуть в /system/bin и дать файлу все права. Я использую sqlite3, который вытащил когда-то из Titanium Backup.
История браузера Chrome
Также с помощью sqlite3 можно выдернуть все контакты с телефона. Для этого в консоли на компе должен использоваться шрифт Lucida Console и перед началом выполнения команд необходимо перевести кодировку на UTF-8. Иначе вместо русских букв будут отображаться непонятные символы. Сами команды выглядят так:
chcp 65001 adb shell $ su # cd /data/data/com.android.providers.contacts/databases # sqlite3 contacts2.db > select t1.raw_contact_id,t1.normalized_number,t2.display_name from phone_lookup as t1, raw_contacts as t2 where t1.raw_contact_id=t2._id Order by display_name;
Если все сделано правильно, то в консоли ты увидишь таблицу с порядковым номером записи, номером телефона и контактами, отсортированными по имени. Для контактов с более одного номера будет несколько записей подряд.
Вывод контактов из базы contacts2.db
Можно вывести данные не на экран, а сразу в текстовый файл. Для этого команды нужно изменить:
adb shell $ su # cd /data/data/com.android.providers.contacts/databases # sqlite3 contacts2.db «select t1.raw_contact_id,t1.normalized_number,t2.display_name from phone_lookup as t1, raw_contacts as t2 where t1.raw_contact_id=t2._id;» > /sdcard/contacts.txt
Альтернативный способ вывода контактов в файл — команда, требующая установленного BusyBox:
content query —uri content://contacts/phones —projection number:name —sort «name ASC»| awk -F= ‘{gsub(//,»»,$2);print $2″ «$3}’| sed ‘s/,//g’ >/sdcard/contacts.txt
Консоль в консоли
Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой
В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.
В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:
Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.
Вывод свободного пространства на устройстве командой adb shell dfПример работы команды ls для вывода информации о разделах
Команды ADB
Перед выполнением команд adb полезно знать, какие экземпляры устройств подключены к серверу adb. Список подключенных устройств можно посмотреть следующей командой.
В ответ adb выведет серийный номер, состояние и описание (параметр -l) подключенных устройств.
В примере ниже показаны три устройства. Первые два — эмуляторы, третье — аппаратное устройство, подключенное к компьютеру.
Если запущен только один эмулятор или подключено только одно устройство, команда adb отправится на это устройство по умолчанию. Если же запущено несколько эмуляторов и / или устройств, необходимо использовать параметры -d, -e или -s, чтобы указать устройство, на которое должна быть направлена команда.
Нижеприведенная команда отправится на устройство с указанным серийным номером.
Команда отправится только на устройство подключенное через USB. Выдаст ошибку, если подключено больше одного устройства.
Команда отправится на устройство в эмуляторе. Выдаст ошибку, если подключено больше одного эмулятора.
Подсоединиться к андроид хосту по протоколу TCP/IP (по умолчанию порт 5555, если не указан другой).
Отсоединиться от андроид подключенного через TCP/IP (по умолчанию порт 5555). Если не задан ни один параметр, отключиться от всех активных соединений.
Перезапуск демона с правами root.
В некоторых случаях может потребоваться остановить сервер adb, и перезапустить его, чтобы решить проблему (например, если adb не отвечает на команды).
Остановить сервер.
Запустить сервер.
Копировать файл или папку на устройство.
Например,
Копировать файл или папку с устройства на компьютер.
Копировать с компьютера на устройство только новые файлы. С ключом -l не копировать, только создать список.
Установить приложение на устройство.
Например,
Ключи:-l блокировка приложения;-r переустановить приложение, с сохранением данных;-s установить приложение на карту памяти.
Чтобы удалить приложение с устройства используйте следующую команду.
Ключ -k означает, не удалять сохраненные данные приложения и пользователя.
Сделать скриншот экрана устройства.
Полученный скриншот можно сразу забрать на компьютер.
Для записи видео с экрана устройства используйте команду screenrecord.
или с параметрами
Чтобы остановить запись используйте комбинацию клавиш Control + C (Command + C на Mac). По умолчанию максимальный лимит для видео составляет 3 минуты.
С полным списком команд adb можно ознакомиться на сайте .
ADB Shell KeyEvent commands
Android devices support KeyEvent commands that can let you perform certain actions that require you to press a hardware button or tap an app or UI option. You can control your Android phone or tablet device simply by using these KeyEvent commands. These commands might come in handy if the hardware keys on your device are not functioning properly due to some damage.
-
Turn Android device ON or OFF: adb shell input keyevent 2
-
Press Home button: adb shell input keyevent 3
-
Press Back button: adb shell input keyevent 4
-
Press Call button: adb shell input keyevent 5
-
End a call: adb shell input keyevent 6
-
Turn ON the camera: adb shell input keyevent 27
-
Open wen browser: adb shell input keyevent 64
-
Press the Enter key: adb shell input keyevent 66
-
Press Backspace button: adb shell input keyevent 67
-
Open Contacts app: adb shell input keyevent 207
-
Decrease display brightness: adb shell input keyevent 220
-
Increase Display brightness: adb shell input keyevent 221
-
Cut text: adb shell input keyevent 277
-
Copy text: adb shell input keyevent 278
-
Paste text: adb shell input keyevent 279
-
Make the device sleep: adb shell input keyevent KEYCODE_SLEEP
-
Make device wakeup: adb shell input keyevent KEYCODE_WAKEUP
-
Toggle Power menu: (adb shell) input keyevent KEYCODE_POWER
You can learn more about KeyEvent commands on the Google developers portal.
Finally, it’s time to wrap up the ADB shell commands cheat sheet. In case you need this ADB shell commands list directory for future reference, you can download this PDF file.
Read Next: How to Check Android Device Activation Date
Основные команды
Работа с ADB осуществляется через командную строку: в адресной строке папки с установленным ADB ввести cmd и нажать Enter.
После подключения андроид-устройства в окне нужно ввести adb devices. Если ПК обнаружил смартфон, в окне появится серийный номер подключенного устройства. Надпись Online сигнализирует о его готовности принимать директивы.
Инсталляция приложений через .apk происходит через команду adb install, после написания ее в этой же строке нужно указать путь из корневого каталога к установочному файлу. Для этого его можно открыть через Проводник и скопировать путь.
Аналогично проводится удаление программ через — adb uninstall. После команды нужно указать название пакета приложения. Например, com.piriform.ccleaner, чтобы удалить программу CCleaner с телефона
Важно, что удаление проводится полностью, кэш на устройстве не остается. Если важно сохранить его, в конце следует дописать ключ -k
adb push создана для передачи файлов на Android: после самой команды необходимо написать путь к файлу на ПК и место назначения (через косую черту или слэш).
adb pull – обратная сторона, с ее помощью данные копируют на компьютер со смартфона.
Команда adb reboot выручит при проблемах к управлению телефонов – она перезагрузит гаджет. При проблемах включения андроид-устройства в режим bootloader позволит перейти введение adb reboot-bootloader. В режим восстановления вводит adb reboot recovery, но она доступна лишь на некоторых ПК.
Еще несколько полезных директив (все доступные команды можно посмотреть после ввода adb help в командую строку):
- adb connect – подключение смартфона к Wi-Fi, придется указать IP-адрес и порт смартфона.
- adb shell – открывает доступ ко всем файлам телефона.
- adb fastboot devices – запрет на принятие смартфоном любых команд, fastboot oem unlock – разблокирует загрузчик.
- adb logcat – вывод содержимого log-файла, текст нужно сохранить в текстовый файл.
- adb backup и adb restore создают бэкап и проводят восстановление данных из него.
Таким образом, с помощью адб-команд можно решить массу вопросов, которые вручную делать гораздо дольше
Важно не забыть установку Android SDK, иначе работать не получится
Install ADB and Fastboot Platform Tools
- For these commands to run, you would either be required to download ADB and Fastboot Platform Tools (Windows | Linux | macOS). This is the official tool provided by Google and you should only use this one, not any other third-party ADB binaries.
- If you are using ADB and Platform Tools, then after installing them, you need to execute the codes using the PowerShell Window or the Command Prompt. Let’s say you installed the tools in C:\adb, then for using the Powershell or Command Prompt:
- Go inside that folder (i.e C:\adb\platform-tools),
- While pressing the Shift key right-click on an empty location.
- Select ‘Open PowerShell window here. Begin typing the codes.
- On the other hand, if you prefer to use Command Prompt, then head over to the platform-tools folder, type in CMD in the address bar, and hit Enter. This will launch the CMD window.
ADB Shell Commands for Reference
Action performed by command |
|
adb shell dumpsys batterystats |
collects battery data from your device |
adb shell ls |
list directory contents |
adb shell ls -a |
do not hide entries starting with |
adb shell ls -i |
print index number of each file |
adb shell ls -s |
print size of each file, in blocks |
adb shell ls -n |
list numeric UIDs and GIDs |
adb shell ls -R |
list subdirectories recursively |
adb shell netstat |
list tcp connectivity |
adb shell pwd |
print current working directory location |
adb shell dumpstate |
dumps state |
adb shell ps |
print process status |
adb shell am start -a |
opens browser |
adb shell am start -t image/* -a android.intent.action.VIEW |
opened gallery |
Related Articles:
Копаем recovery
Проверяю разницу между boot и recovery разделами. Все идентично кроме initramfs. В initramfs раздела recovery изучаю init.rc, в котором описан лишь один сервис, который запускает . Изучаю , затем исходники оригинального recovery. Как видно, по умолчанию recovery просто отображает логотип Android. А если необходимо что-то сделать, то в штатном режиме в раздел записывается файл , который может содержать параметры запуска recovery. Если в этот файл записать то мы должны увидеть меню.
Запускаю dirtycow exploit, выставляю UID/GID, записываю файл и запускаю . Телефон перезагружается и я попадаю в меню стандартного recovery. Уже что-то. Пробую прошить ZIP файл с supersu через . Операция прерывается с ошибкой. Толком не смотрю на ошибку, а лезу в код recovery и ищу место, отвечающее за проверку цифровой подписи ZIP файла.
Выясняю, что initramfs содержит публичный ключ в формате minicrypt, которым проверяется цифровая подпись ZIP файла. Оказалось это стандартный тестовый ключ Android, и что я могу подписать этим ключём любой архив. Проверить это можно следующим образом:
Попробовал установить ZIP напрямую с sdcard, но в recovery при монтировании sdcard возникала ошибка. Изучил , оказалось что в режиме recovery sdcard монтируется как vfat:
Моя 64Gb флэшка была отформатирована в exfat. Нашел старую sdcard на 2Gb, отформатировал её как vfat, записал ZIP, вставил её в телефон. Recovery в этот раз смог примонтировать карточку и я мог просматривать её содержимое на телефоне. Однако при установке ZIP опять возникла ошибка: E:failed to set up expected mounts for install; aborting.
Команда показала, что этот recovery отличается от стокового, по крайней мере там присутствовали строки, относящиеся к Kyocera, и скорее всего к чистке раздела . Покопавшись в оригинальных исходниках я выяснил, что интересующая меня ошибка возникает в функции в файле .
Т.е. перед тем как применить ZIP, recovery отмонтирует все разделы, но в моём случае что-то идёт не так.
Как установить прошивку через Fastboot
В этом моменте проявляется главное применение фастбута, максимально простое и понятное благодаря следующей рассчитанной на новичков инструкции. Во избежание перевода телефона в нерабочее состояние, зарядите его до, как минимум, 30%. Не стоит беспокоиться, если гаджет станет «кирпичом», так как вывести девайс из такой ситуации можно, но не без сложностей. Убедившись в корректном подключении девайсов между собой, следуйте следующей инструкции, предполагающей, что loader уже разблокирован:
- Напишите adb reboot bootloader для переключения режима;
- Произведите самостоятельную очистку разделов во избежание конфликтов файлов, используя команду erase, после которой через пробел нужно ввести system. Нажмите Enter, после чего сделайте то же самое с каталогами userdata, radio, cache, boot, recovery;
- Переместите прошивку в папку с утилитой. Если они представлены в нескольких файлах, поочерёдно введите команды в соответствии с функционалом каждого: после слова flash укажите system и расположение образа, где он находится. По аналогии выполните эти действия с другими директориями, удалёнными на прошлом шаге. Можно облегчить эту процедуру, введя flash-all, заранее создав batch-скрипт с этим названием в папке с IMG-файлами;
- При размещении прошивки в формате архива введите update archive_name.zip, заменив название на реальное.
root, да не тот
Первое, что я сделал это использовал dirtycow по прямому назначению — подменил , который задал UID/GID в 0 (тоже самое делает su). Однако монтировать файловую систему я не мог, даже tmpfs. Загружать модули ядра я тоже не мог. Просматривать dmesg — нет. Я даже не мог просматривать директории, которые имели права 700 и принадлежали другим системным пользователям. Я мог лишь читать и писать в блочные устройства, а просмотр файлов или директорий был возможен благодаря заданию UID/GID определенного пользователя (написал свой велосипед — аналог su, который мог задавать selinux context и пользователя/группу).
Первым делом я сделал дамп всей прошивки, boot и recovery:
Изучить дамп можно утилитами и . Команда создает виртуальное блочное устройство, доступное по пути . С ним можно работать как с любым другим блочным устройством. Дампы разделов boot и recovery распаковал утилитой .
Потом попробовал записать в recovery , проверить и сразу восстановить из дампа.
Раз я мог писать в блочные устройства, значит я мог записать custom recovery. Нашел TWRP от Brigadier, прошил в recovery и перезагрузился в него . TWRP я не увидел, а лишь иконку Android’а с восклицательным знаком. Так выглядит стандартный recovery, а значит TWRP не прошился.
Перезагружаюсь в обычный режим, запускаю эксплойт, проверяю hash recovery раздела — hash соответствует оригинальному. Пробую записать данные опять — hash поменялся! Вспоминаю про page cache, чищу () — hash старый. Т.е. всё, что я пишу в блочное устройство улетает без ошибок в /dev/null и иногда оседает в Linux cache. Но обновление прошивки ведь как-то происходит? И пользовательские данные как-то записываются во внутреннюю память. Надо копать дальше.
Команды ADB
Удаление приложений через ADB
Удаление приложения :
adb shell pm uninstall -k --user 0 'com.facebook.katana' adb shell pm uninstall -k --user 0 'com.facebook.system' adb shell pm uninstall -k --user 0 'com.facebook.appmanager'
Удаление некоторых приложений Google :
adb shell pm uninstall -k --user 0 'com.google.android.gm' // GMail adb shell pm uninstall -k --user 0 'com.google.android.apps.tachyon' // Google Duo adb shell pm uninstall -k --user 0 'com.google.android.apps.turbo' // Device Health Services
Через ADB можно удалить
приложения, которые нельзя удалить через графический интерфейс Андроид,
например GMail. Некоторое
неудобство в том, что в команде нужно указывать название пакета приложения.
В то время как в графическом интерфейсе отображается его имя. Так что, если
вы хотите удалить какое-то приложение, сначала нужно узнать название пакета.
Это можно сделать:
- Через свойства приложения, в списке приложений (Настройки —
приложения). - На сайте Google Play Market. Если его
открыть в браузере и через поиск (по имени) найти нужное приложение и
открыть страницу этого приложения, в URL этой
страницы будет имя пакета. - Через какое-либо приложение, которое работает со списком приложений.
Создание резервной копии приложений и данных
adb backup -all -f ~/copy.ab
Эта команда делает копию данных всех приложений. Перед ее
исполнением, на устройстве будет дан запрос на подтверждение:
В результате будет создан файл-архив с данными всех
приложений:
Этот архив даже можно посмотреть в архиваторе. Но для
этого нужно этот файл предварительно обработать:
dd if=~/copy.ab bs=1 skip=24 > ~/copy
printf «\x1f\x8b\x08\x00\x00\x00\x00\x00» | cat — ~/copy
| gunzip -c > ~/copy.tar
И теперь файл copy.tar можно открыть:
Восстановить данные из копии тоже не сложно:
adb restore ~/copy.ab
Присвоение разрешений (permissions) приложению
через ADB
adb shell pm grant com.gsamlabs.bbm
android.permission.BATTERY_STATS
В этой команде, приложению «GSam Battery Monitor» (имя
пакета com.gsamlabs.bbm) присваивается разрешение
(permission) BATTERY_STATS.
Это разрешение на доступ к детальной информации об использовании
батареи. После присвоения этого разрешения приложение «GSam
Battery Monitor» сможет показывать не только текущий уровень заряда,
напряжения и температуры батареи, но все приложения которые работают и
«съедают» заряд батареи.
Подготовка
Если вы решили использовать этот метод обновления, нужно подготовиться заранее, чтобы в процессе не возникало проблем. Максимально зарядите свой смартфон. Конечно, советуют, чтобы была хотя бы половина заряда, но рисковать не стоит. Почитайте отзывы об опции Apply update from ADB и возможные ошибки на форумах.
Далее на ПК нужно установить Android SDK. Это основная программа, в которой есть масса инструментов, в том числе и ADB. Не забудьте настроить на телефоне «Отладку USB». Многие забывают об этом шаге, а после обращаются с вопросами о том, почему программа или компьютер не видят их гаджет.
Кстати, «Отладка USB» последнее время стала скрыта от некоторых пользователей. Все зависит от модели телефона. К примеру, есть вариант, когда нужно найти опцию «О телефоне». Она обычно находится в настройках системы. Далее нужно нажать на строку «Номер сборки» до 10 раз. Вы заметите, что внизу будут появляться уведомления о то, что вы на верном пути.
Если все правильно, вы получите сообщение от системы, что вы стали разработчиком. Теперь, можно возвращаться в раздел «параметры разработчика» и там появится данная опция.
Есть модели, которые просто спрятали «откладку» в необычном месте. К примеру, попробуйте поискать в разделе «Память». Иногда там прячется этот пункт.
Во время подготовки нужно не забывать о запуске командной строки. Чтобы это сделать, достаточно ввести в поиск Windows cmd. После нажать Enter. Ну и, наконец, проверьте работоспособность кабеля
Важно, чтобы он не дисконектился, и между смартфоном и компьютером не было постоянных разъединений
Бэкап приложений
В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:
- -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
- -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
- -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
- -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
- -all указывает на необходимость бэкапа всех установленных приложений;
- -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);
- <pack — перечень пакетов для бэкапа.
Если мы хотим создать бэкап всех несистемных прог, включая сами .apk, в определенное место, то команда будет выглядеть так:
После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:
Процесс бэкапа
Топ команд и лайфхаков в Android
1. Adb команда adb devices
Всегда в самом начале использования терминала используйте команду:
Так вы наверняка будете знать подключено ли все правильно, а не биться головой об стену и искать проблему в чем то другом.
2. Adb команда adb reboot normal
Застряли в меню Reocvery и не получается выйти? Выход есть! Используйте команду:
Данная команда поможет вывести из состояния «перезагрузка только в рекавери», при условии, что вы не поломали систему.
3. Adb команда adb install -r
Если вы устанавливаете и переустанавливаете приложения при помощи терминала, то стоит использовать команду:
Если не использовать приставку -r, то попытка переустановить приложение закончится не удачей.
4. ADB команда adb shell pm list packages
Просмотреть все установленные приложения на вашем Android, также можно легко и просто с помощью adb:
После чего перед вами появится список всех приложений которые когда либо устанавливали.
5. ADB команда запуска приложения
После того как знаем список приложений можно запустить его из терминала, для этого вводим команду:
adb shell am start -n Nazvanie.app/EGO.ACTIVITY
Узнать ACTIVITY приложения можно ознакомившись с этой статьей.
6. Adb команда adb shell su -c «команда»
Если вы начали использовать bat и shell скрипты, то при попытки выполнить, что-то из под Root закончится мигающим курсором в терминале, а сама linux команда не будет выполнена! Выход есть! используйте связку su -c :
Теперь ваши скрипты будут работать как надо!
7. Linux команда mount
Root права у вас установлена, но система не дает возможности записать, создать папку?
Все очень просто (если у вас не HTC), вам нужно перемонтировать раздел под запись — mount -o rw,remount,rw /раздел , чтобы все заработало:
с компьютера, через командную строку
с терминала на устройстве Android
8. Linux команда cd
Возможно вам знакома команда cd, вы знаете как ей пользоваться, как перейти в необходимый каталог, но есть лайфхак который вам поможет перемещаться быстрей. Используйте команду:
Для того чтобы быстро переместиться в самый корень файловой системы, а не набирать каждый раз cd ..
9. Используйте Linux команду pwd и ls
Эти две команды помогут вам не потеряться в обилие файлов и каталогов, разделов Android.
Linux команда:
Покажет полный путь от корня до текущего вашего положения.
Linux команда:
Покажет абсолютно все файлы и каталоги, в том числе и скрытые, в текущем расположение.
10. Linux команда chmod
Возможно вам также знакома команда, необходимая для того чтобы задавать права для каталогов и файлов. Но можно перейти на новый уровень, автоматизировав действия, и задавать их массово, а не нудно вводить по одиночке:
Данная команда, назначит права абсолютно всем файлам в текущем каталоге.
11. Fastboot команда erase
Всегда! Перед тем как что либо прошить в режиме fastboot форматируйте раздел, данное действие поможет избеганию проблем в работе Android.
12. Fastboot команда boot
Только что прошили Recovery, но не охота держать руками кнопки чтобы перезагрузиться в него? Тогда выполним с помощью команды:
12. На заметку, клавиша «TAB»
Клавиша на клавиатуре является очень полезной и необходимой! Если вам нужно набрать длинное каталога, то вам достаточно написать первые три буквы и нажать «TAB» и все уже написано за вас, также это касается команд и файлов.
Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!
Использование пакета ADB Run
А вот многим начинающим пользователям, которые не разбираются в тонкостях применения такого инструментария, можно посоветовать воспользоваться неофициальным набором ADB Run. После распаковки архива, программу нужно установить, после чего среду можно будет запустить прямо с «Рабочего стола».
Она несколько отличается от того, что можно увидеть в командной строке, зато пользователю не нужно вписывать команды самостоятельно, а достаточно просто вбить цифру, соответствующую той или иной операции, и нажать клавишу ввода. Попутно из загруженного комплекта, если это требуется, можно установить специальный ADB-драйвер, а также воспользоваться дополнительной портативной утилитой ApkInstaller, если планируется инсталлировать приложения с компьютера на мобильный девайс.