Отладка по adb

Лучшая статистика батареи

Поиск приложений, вызывающих разрядку аккумулятора телефона, – загадка. Откуда вы знаете, что конкретное приложение переходит в состояние сна, когда вы выходите из него? И как вы можете измерить эффективность приложений для экономии заряда аккумулятора, таких как Naptime?

Better Battery Stats извлекает подробные данные о вашей батарее. Он показывает приложения, которые выводят ваше устройство из состояния глубокого сна, обнаруживает необычные изменения в поведении и происходящем за кулисами, а также собирает информацию об использовании приложений и блокировках пробуждения. Данные отображаются в разных категориях – начиная с загрузки, отключения, отключения экрана и т. Д.

Настройка ADB

Ранее это приложение было доступно только для рутованных устройств. Но с АБР любой может начать использовать его. Вставьте и выполните эти команды по порядку:

. adb -d shell pm grant com.asksven.betterbatterystats android.permission.BATTERY_STATS . adb -d shell pm grant com.asksven.betterbatterystats android.permission.DUMP . adb -d shell pm grant com.asksven.betterbatterystats android.permission.PACKAGE_USAGE_STATS

Уникальные черты

  • Показывает экран по отношению к бодрствующему. В идеале время экрана должно быть равно времени пробуждения.
  • Найдите изменения в профиле пробуждения / сна и быстро определите мошеннические приложения.
  • Статистика заряда батареи показывает вам подробные метрики Doze, чтобы вы могли проверить, насколько эффективны приложения по экономии заряда батареи.
  • Он может выбирать приложения, которые приводят к частичным wakelocks или приложениям, которые используют CPU в wakelocks ядра.

Скачать: Лучшая Статистика Батареи (2 $)

Основы работы с ADB

Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).

Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.

Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

cd \android

Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.

Другие статьи в выпуске:

Xakep #208. Атака на сигналку

  • Содержание выпуска
  • Подписка на «Хакер»

Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

adb devices

С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

adb connect IP-адрес

Далее работа с ADB ничем не отличается.

Разблокировка загрузчика

Разблокировка загрузчика удаляет все данные с телефона и sd-карты

Также, разблокировка загрузчика, без установленного далее Magisk, может сломать Android Pay.

Для разблокировки:

  1. В настройках “Для разработчиков” включаем “Отладка по USB”, “Заводская разблокировка” и “Варианты перезагрузки”

  2. Загружаемся в fastboot mode. Для этого зажимаем кнопку выключения, выбираем “Перезагрузка” и далее “Загрузчик” Второй способ — выключить телефон, зажать клавишу громкости вверх и клавишу включения. Через несколько секунд появится fastboot mode

  3. Подключаем телефон по USB-кабелю. И проверяем что устройство доступно в системе. Для этого выполняем:

    В списке должен быть телефон

  4. ПОСЛЕ ЭТОЙ КОМАНДЫ ТЕЛЕФОН ПЕРЕЗАГРУЗИТСЯ И ВСЕ ДАННЫЕ БУДУТ УДАЛЕНЫ. Делайте бэкапы всех данных до этого шага.

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

Теперь загрузчик разблокирован.

Инструкция: Как применить патч к системному текстовому файлу с помощью ADB Run

Многие знают, что операционная система Android является самой гибкой в плане настроек, кастомизации и модинга, что позволяет профессионалам и любителям создавать не только собственные прошивки, основываясь на официальные, но и заниматься созданием патчей, которые в той или иной мере влияют на работу системы/отдельно взятых компонентов вашего устройства.

Сегодня мы рассмотрим пример того, как можно скопировать системный текстовый файл на примере build.prop из ОС Android к себе на компьютер, отредактировать его и после создать патч, который можно спокойно применить к вашему устройству, а при необходимости совершить откат совершенных действий.

Что нам понадобится для работы

  • ПК или ноутбук на ОС Windows
  • USB-кабель для вашего устройства (желательно фирменный)
  • Скачанная и установленная программа ADB Run на ваш компьютер
  • Включенная отладка по USB на Android
  • Наличие Root-прав
  • Установленная программа BusyBox на Android

Процесс создания и применения патча

Сначала мы должны подключить устройство к ПК через USB-кабель, затем запустить программу ADB Run и перейти в меню Manual Command and Unlock Bootloader->ADB, подробную инструкцию о том, как пользоваться ADB Run вы сможете найти в самом начале обзора программы.

Теперь нам необходимо скопировать файл build.prop, для чего вводим следующем команду в открывшемся окошке программы:

adb pull /system/build.prop %USERPROFILE%\Desktop

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

adb push %USERPROFILE%\Desktop\android_build.prop /sdcard/

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

adb shell su mount -o rw,remount,rw /system

После проделанных действий, можно смело отправлять созданный нами файл в системный раздел, введя следующую команду:

cp /storage/emulated/0/android_build.prop /system

Теперь нам останется создать сам патч. Для этого нужно перейти в системный раздел командой:

cd /system

А при помощи следующей команды создать сам матч:

diff -u android_build.prop build.prop > ptch.diff

В этот момент произойдет создание файла с именем ptch.diff в который и будут внесены наши изменения.

Последнее, что нужно сделать – это применить патч, который мы только, что создали, а для этого служит очень простая команда:

patch -R < ptch.diff

На этот процесс создания и применения патча к текстовому системному файлу можно считать завершенным.

Управление мобильным девайсом в режиме Fastboot

В режиме Fastboot, обычно запускаемым путем длинного нажатия и удержания кнопок питания и уменьшения громкости, на команды adb devices Android не реагирует. Это и понятно, ведь операционная система еще не загружена.

Если хотите, этот режим представляет что-то очень отдаленно напоминающее BIOS на компьютере и служит в основном для создания бэкапов или восстановления работоспособности девайса, если система не загружается вообще. Также в этом режиме можно устанавливать кастомные прошивки, менять среду восстановления Recovery и т. д. Применяемые команды очень похожи на те, что использовались в ADB, но с той разницей, что сначала вписывается не сокращение adb, а указывается режим fastboot (например, для распознавания девайса применяется строка fastboot devices). Кроме того, именно в таком режиме можно разблокировать загрузчик, если другим средствам это не под силу (fastboot oem unlock).

Старт ADB через командную строку или PowerShell

Когда все компоненты установлены, необходимо подключить свое устройство к компьютеру или ноутбуку и вызвать командную строку от имени администратора. Первым делом в ней необходимо перейти к папке с инструментами платформы, о которой говорилось выше. Например, вы установили весь пакет в каталог Android на диск «D» (вообще, глубоко прятать нужные папки не стоит, поскольку придется очень долго вводить абсолютные пути к ним). В консоли необходимо вписать команду перехода cd d:Androidplatform-tools, после чего следует нажать клавишу ввода.

Теперь вписываете искомую команду adb devices и ожидаете реакцию системы на подключенное устройство. Если связь будет установлена, на экране появится строка List of devices attached с указанием серийного номера подключенного устройства и статусом его состояния (online или offline). Консоль работает в режиме клиент-сервер, при котором в процессе обмена данными и создается виртуальный сервер (demon), поэтому не пугайтесь, если где-то и когда-то встретите такое упоминание. Это не вирус!

Также установить и запустить консоль с начальной командой adb devices можно при помощи инструмента PowerShell. Для этого достаточно зайти в папку platform-tools, а в меню ПКМ выбрать «Запустить PowerShell здесь». Но просто так среда функционировать не начнет (будет сообщено о том, что выполнение таких команд не предусмотрено), поэтому для ее активации именно в PowerShell впишите строку sdkmanager platform-tools, поставив перед основной командой атрибут «./» (без кавычек).

fota

В некоторых случаях полезно игнорировать обновления прошивки.

FOTA — firmware over the air. В отличие от boot и recovery, fota — это неофициальный режим загрузки Android. Задача fota — обновить прошивку. В Kyocera для этого используется решение от компании Red Bend, которое в 35Mb умещает обновление не только ядра но и раздела . Потому запись в раздел запрещена, иначе наложение патча на неправильные данные может окирпичить телефон.

На мой телефон имелось обновление. Отважиться на него я мог потому, что я уже имел возможность писать в и прервать обновление в любой момент.

Изучив исходники отвечающего за обновление Java приложения, мне стало ясно как оно происходит:

  • Java приложение скачивает специальный файл , создает файл , подтверждающий успешную загрузку файла, и другие файлы с header’ами.
  • При подтверждении обновления еще раз проверяется наличие этих файлов.
  • Если файлы на месте, то через библиотеку происходит модификация раздела .
  • Происходит перезагрузка.

Перезагрузка происходит не моментально, значит у меня есть возможность удалить файл перед перезагрузкой и посмотреть что происходит с разделом fotamng.

Пишу команду, которая непрерывно делает дамп раздела и переименовывает . Запускаю её сразу после соглашения о перезагрузки телефона. Телефон перезагружается в режим FOTA, рапортует об отсутствии обновления и перезагружается в обычный режим.

Начинаю изучать данные, которые сдампил. В разделе бонусом получаю логи fota, в которых даже есть логи dmseg! Сама перезагрузка в fota инициализируется байтами «1» в разделе fotamng:

После перезагрузки они обнуляются

В dmesg я обратил внимание на наличие параметра ядра kcdroidboot.mode=f-ksg. Вот оно! Т.е

загрузчик снимает защиту для fota. И чисто теоретически, если я запишу раздел boot в fota и перезагружу телефон в этот режим, то я получу ядро с отключенной защитой Kyocera. Но писать в системные разделы я всё еще не могу.

Системные утилиты

Кратко остановлюсь на нескольких полезных командах (работоспособность некоторых, однако, может зависеть от версии прошивки и модели телефона).

Изменение DPI. Не требует root и работает на Android 5.0+. Стандартное значение для Nexus 5 — 480. При значении 420 на рабочем столе стокового лаунчера помещается пять иконок в ряд вместо четырех:

$ wm density 420 && adb reboot

Подключение /system в режиме записи. Для части команд, которые меняют системные файлы, необходимо сначала перемонтировать раздел /system на запись. Это необходимо в том числе при удалении системных приложений. Перемонтирование выполняется следующей командой:

$ su # mount -o rw,remount /system

Мягкая перезагрузка:

$ setprop ctl.restart zygote

Перевод смартфона в режим энергосбережения Doze (Android M+):

$ dumpsys battery unplug $ dumpsys deviceidle step

…повторяем действия, пока не увидим idle.

Батарейка в процентах (Android 4.4+):

$ content insert —uri content://settings/system —bind name:s:status_bar_show_battery_percent —bind value:i:1

(с предварительным подключением USB)

  1. Скачайте и установите программу ADB RUN;
  2. Перейдите в Android «Настройки устройства -> О Смартфоне/Планшете  -> Общая информация -> IP адрес», чтобы узнать присвоенный IP;
  3. Подключите Android смартфон или планшет к компьютеру по USB;
  4. Запустите  программу  ADB RUN и перейдите в меню Manual Command ->ADB;
  5. Введите  следующую команды:  
  6. Вы должны получить ответ в командной строке «restarting in TCP mode port: 5555″;
  7. И вводим:  где XXX.XXX  внутренний IP адрес который вы узнали из настроек Android;
  8. После этого отключаем USB кабель (иначе ошибка more than one device and emulator adb) и далее проводим отладку по Wi-Fi.

Отладка по Wi-Fi с предварительным подключением по USB осуществлена.

Управление приложениями

Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.

Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

ADB Commands List

As mentioned earlier, ADB commands are used when the device is powered on and you have access to the device. That is, you can unlock the device and grant ADB debugging permission to the computer. Listed below are some of the most common and useful ADB commands that you may need at some point. You can even use your Android phone like a PC to execute ADB and Fastboot commands.

adb devices

Shows all the devices connected to ADB. Can be used to make sure your device is connected properly before performing any other operations.

‘adb devices’ command

adb reboot

ADB can be used to reboot your device, useful when your hardware buttons aren’t working or if you’re already using ADB. You can also reboot directly into the recovery or bootloader using this command.

Reboots the device into the Fastboot or Bootloader mode.

adb reboot bootloader

adb install

It can be used to install an APK file on your Android device from your computer. It is more convenient than the alternative, which is to transfer the APK to the device and then install it. This command is generally used by developers or debuggers. Please note that you must copy the APK file to install in the ‘platform-tools’ folder, otherwise you’ll also have to type the location of the APK.

adb install OPLiveWallpapers.apk

Use the following command to re-install or update an existing app on your device and keep its data.

adb install -r OPLiveWallpapers.apk

If the app (APK) you are installing supports move to SD card feature, you can install it to the SD storage using the following command.

adb install -s OPLiveWallpapers.apk
adb install –k <.apk file path on computer>

Below are some more parameters that can be used with the ‘adb install’ command:

adb -e install path/to/app.apk
  • -d (directs command to the connected USB device.)
  • -e (directs command to the running emulator.)
  • -s<serial number>
  • -p <product name or path>
adb uninstall

This command can be used to uninstall an installed app, which is pretty clear from the command itself.

adb uninstall com.facebook.katana

Use the following command if you want to uninstall an app package but keep its data and cache directories.

adb uninstall -k com.facebook.katana

Keep the data and cache directories around after package removal.

adb logcat

Displays the log data onto the screen. You can use this command with the following parameters for different purposes as shown below.

adb logcat -d > //
adb jdwp

Lists the JDWP (Java Debug Wire Protocol) processes on the device. if you’re not already aware of it, chances are you don’t have to worry about it either.

Don’t Miss: 50 Best Apps for Rooted Android Devices

adb wait-for-device

This command is used to program delay before the next command is issued. It executes when the device is online but it can be programmed to wait till another process is done.

adb sideload

Just as you can flash zip packages from a custom recovery, you can also do it via adb sideload, provided the recovery supports it. TWRP recovery which is the most common custom recovery for all devices does support it. This way you can flash packages directly from your computer without having to transfer them first to your device or any external storage.

To sideload a mod or update.zip file successfully, you must copy it first to the SDK folder.

adb sideload sample.zip
adb pull

This command can be used to pull any files from your device and save it on your computer. To download or pull a file from your Android device to the SDK platform-tools directory, use

adb pull /sdcard/screenrecord.mp4

If you want to download a file from your phone’s storage to a specific drive on your computer, execute the following command

adb pull /sdcard/screenrecord.mp4 e:\
adb push

Similarly, this command can be used to push a file from your computer to your device. If the file to be pushed it save in the SDK folder, use

adb push OPLiveWallpapers.apk /sdcard

To push or send a file to your Android from a specific drive on your computer, use

adb push e:\OPLiveWallpapers.apk /sdcard

Having given you the above ADB commands list, let’s check out the ADB Shell commands list below.

By using this ADB command, you can create a full backup of your Android device and save to your computer.

adb backup //

Плитка

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

Tiles собирает эти пользовательские переключатели быстрых настроек в одном месте. Существует почти 70 категорий, позволяющих управлять жизненно важными настройками телефона, включая яркость, громкость, местоположение, данные сотовой связи и многое другое. Вы можете активировать или деактивировать каждую плитку, чтобы не загромождать экран быстрых настроек.

Настройка ADB

Некоторые быстрые настройки переключателей требуют ADB. Для этого настройте ADB и вставьте эту команду:

Получив доступ, вы можете контролировать или управлять анимацией, роумингом данных, режимом погружения, расположением, отладкой по USB и многим другим.

Уникальные черты

  • У вас есть контроль, чтобы показать или скрыть видимость плитки.
  • С плитками активности вы можете добавлять плитки для запуска скрытой активности некоторых приложений.
  • Вы можете выбрать режим выборочного местоположения с помощью плиток местоположения. Опции включают высокую точность, экономию батареи и режим только устройства.

Скачать: Плитка (1 доллар)

Как выйти из режима Fastboot

Снятие аккумулятора

Несмотря на распространение девайсов со всегда закрытой крышкой, некоторые компании не отказываются от производства смартфонов «по классике», что в данном деле является преимуществом – можно просто вынуть батарейку или приподнять её со стороны контактов. Способ полностью безопасен, если не злоупотреблять им

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

Удерживание кнопки блокировки

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

Команда reboot

С помощью ПК подайте запрос «fastboot reboot» (без кавычек). Если вы пользуетесь ADB Run, то для этого действия перейдите в раздел Reboot (4), а потом введите «3», как и в случае со включением.

Отключение USB-отладки

Вам также может понадобиться отключить USB-отладку – это важно из целей безопасности, поскольку при её нахождении в активном режиме любой человек, получивший доступ к гаджету, может обойти предусмотренные вами методы безопасности, удалив графический ключ или иные варианты защиты. Для этого понадобится следовать следующим шагам:

  1. Зайдите в параметры устройства;
  2. Выберите раздел «Приложения», потом – одноимённую вкладку;
  3. В списке программ найдите «Настройки»;
  4. Выберите пункт «Память»;
  5. Нажмите на «Сброс», после чего подтвердите свои намерения в появившемся модальном окне. Если не знаете, как сбросить телефон до заводских настроек, прочитайте нашу статью;
  6. Откройте раздел «Для разработчиков», находящийся в нижней части главной страницы панели управления, отключите его целиком или снимите флажок только у отладки по USB.

Основные команды

Работа с 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, иначе работать не получится

Решение проблемы

Когда появляется ошибка команды нет android что делать, в такой ситуации пользователю? Необходимости в том, чтобы узнать точную причину, повлекшую за собой столь неприятные последствия — нет. Достаточно лишь или, в некоторых случаях, перепрошить телефон.

Процедура сброса довольно простая и очень похоже реализована во всех современных устройствах. Для её выполнения следует:

  1. При включении смартфона зажать кнопку громкости, после чего откроется меню
  2. В нем выбрать пункт WIPE data factory, после чего произойдет сброс.
  3. Иногда, во время процедуры, смартфон может «спросить», что делать с данными пользователя. В большинстве случаев, их следует удалить для корректной работы девайса.

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

Если вы хоть раз пробовали самостоятельно прошить или или планшет на Android, то наверняка сталкивались с понятием «Recovery». Сегодня мы подробно поговорим о том, что это за штука, зачем она вообще нужна, и конечно, как туда войти.

Что такое Recovery

Recovery mode — это специальный режим загрузки android-устройств, позволяющий сделать полный сброс настроек операционной системы, перепрошить аппарат, сделать резервную копию всей системы или отдельных её разделов (ровно как и восстановить эти разделы затем) и некоторые другие вещи. При этом, для работы этом режиме работоспособность самой операционный системы совсем необязательна. Именно по этому к меню recovery зачастую обращаются когда в нормальном режиме аппарат уже не работает. И именно по этому этот режим и называется «recovery» (с англ. «восстановление»).

Как войти в Recovery

Для загрузки recovery обычно используются аппаратные кнопки устройства. Наиболее частые комбинации это:

Тем не менее, некоторые производители могут придумать «что-нибудь эдакое», так что придётся искать и экспериментировать.

Если все сделано правильно, на экране устройства появится лежащий робот, поверх которого будет меню с командами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector