> Внимание!

Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.



ADB | fastboot - их использование | Работа со вспомогательными Android утилитами



Реп: (9005)
ADB | fastboot - их использование



Platform-tools: r34.0.5
ADB: 1.0.41 (34.0.5-10900879)
Fastboot: 34.0.5-10900879
Make_f2fs (casefold): 1.16.0 (2023-04-11)
Mke2fs: 1.46.6 (1-Feb-2023)
Последнее обновление утилит в шапке: 06.11.2023


Что такое ADB?
ADB (Android Debug Bridge - Отладочный мост Android) - инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC - ПК, компьютер к которому подключено устройство.
ADB - консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:
  • Посмотреть какие устройства подключены и могут работать с ADB.
  • Просматривать логи.
  • Копировать файлы с/на аппарат.
  • Устанавливать/Удалять приложения.
  • Удалять (очищать) раздел data.
  • Прошивать (перезаписывать) раздел data.
  • Осуществлять различные скрипты управления.
  • Управлять некоторыми сетевыми параметрами.
Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.


Установка
Распаковываем архив (рекомендуется распаковывать в корень диска или в другую папку, не содержащую русских букв и пробелов в пути). Например: C:\\adb
Настройки соединения, устройства. Драйверы.
Настраиваем телефон.
Для этого перейдите в: "Настройки" - "О телефоне" - 7 раз нажмите на номер сборки. В настройках для разработчиков активируйте отладку по USB.
При подключении USB-кабеля выбираем "Передача файлов".
Проверяем соединение на компьютере.
Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите - "cmd" (без кавычек) и нажмите Enter.
Проверьте доступность устройства и правильность установки драйверов. Для этого выполните adb или fastboot команду:
adb devices
fastboot devices
Если все хорошо, драйвера успешно установлены и телефон правильно подключен - вы увидите следующий ответ:
<серийный номер устройства> device
или
<серийный номер устройства> fastboot

Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.

Примеры установки на Linux:
ADB и все, что с помощью него можно сделать (Пост Martifik #28444786)
ADB и все, что с помощью него можно сделать (Пост Aliana_Basil #93244308)

Авто-установщик под Windows
ADB и все, что с помощью него можно сделать (Пост Aliana_Basil #93708609)
Как использовать?
Так как adb/fastboot - консольные утилиты, работать с ними надо из командной строки.
Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите - "cmd" (без кавычек) и нажмите Enter.
Далее работаем посредством нужных вам команд.
Команды ADB
Решение: CreateFileW 'nul' failed: Не удается найти указанный файл.

Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.

adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.

adb -s <серийный_номер_устройства> Команда посылается на устройство с указанным серийным номером:

adb -p <имя устройства или путь> Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.

adb devices
Список всех подсоединенных устройств.

adb connect <хост>[:<порт>]
Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).

adb disconnect [<хост>[:<порт>]]
Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.

adb push <путь на PC> <путь на андроид> Копировать файл/папку PC->девайс.

adb pull <путь на андроид> [<путь на PC>] Копировать файл/папку девайс->PC.

adb sync [<каталог>]
Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.

adb shell Запуск упрощенного unix shell.
Примеры использования

adb emu <команда> Послать команду в консоль эмулятора

adb install [-l] [-r] [-s] <название_приложения.apk> Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk

adb uninstall [-k] <название_приложения.apk> Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.

adb wait-for-device Ждать подключения устройства.

adb start-server Запустить службу/демон.

adb kill-server Остановить службу/демон.

adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.

adb get-serialno Получить серийный номер.

adb status-window Непрерывный опрос состояния.

adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.

adb reboot bootloader
Перезагрузка в режим bootloader.

adb reboot recovery Перезагрузка в режим recovery.

adb root Перезапуск демона с правами root

adb usb Перезапуск демона, прослушивающего USB.

adb tcpip <порт> Перезапуск демона, прослушивающего порт TCP.

adb ppp <tty> [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns

Команды FastBoot
FastBoot - консольное приложение для PC. Используется для действий над разделами

fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash <раздел> <файл> Прошивает файл .img в раздел устройства.

fastboot erase <раздел> Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.

fastboot update <имя_файла.zip> Прошивка из файла имя_файла.zip

fastboot flashall Прошивка boot + recovery + system.

fastboot getvar <имя_переменной> Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.

fastboot boot <kernel> [<ramdisk>] Скачать и загрузить kernel.

fastboot flash:raw boot <kernel> [<ramdisk>] Создать bootimage и прошить его.

fastboot devices Показать список подключенных устройств.

fastboot continue Продолжить с автозагрузкой.

fastboot reboot Перезагрузить аппарат.

fastboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s <серийный номер> Указать серийный номер устройства.
-p <product> Указать название устройства.
-c <cmdline> Переопределить kernel commandline.
-i <vendor id> Указать вручную USB vendor id.
-b <base_addr> Указать в ручную базовый адрес kernel.
-n <page size> Указать размер страниц nand. по умолчанию 2048.
Прошивка радио.
Переименовываем радио в radio.img и кладем его в папку ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу...
pause
fastboot flash radio radio.img
fastboot reboot

Восстановление прошивки из бэкапа.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу...
pause
fastboot flash userdata data.img
fastboot flash system system.img
fastboot flash boot boot.img
fastboot reboot

Прошивка анимации при загрузке
Качаем бутанимацию. Переименовываем файл в bootanimation.zip и кладем его в папку ADB.
@echo off
adb remount
adb push bootanimation.zip /data/local

Получение SuperCID (Дебрендинг
@echo off
adb devices
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу...
pause
fastboot oem writecid 11111111
fastboot reboot-bootloader
fastboot getvar cid
fastboot reboot

Прошивка рекавери.
Распаковываем образ рекавери. Переименовываем файл в recovery.img и кладем его в папку с ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу...
pause
fastboot flash recovery recovery.img
fastboot reboot

Прошивка загрузочного раздела
Переименовываем кусок прошивки отвечающий за загрузку в boot.img и кладем его в папку ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу...
pause
fastboot flash boot boot.img
fastboot reboot

Отладка
Что такое LogCat и как им пользоваться?
Как снять logcat различными способами и приложениями
adb logcat [<Ключи>] [<фильтр>] Посмотреть логи с отладочной информацией:

Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V - Verbose (Низший приоритет).
D - Debug
I - Info
W - Warning
E - Error
F - Fatal
S - Silent (Наивысший приоритет, при котором ничего не выводится).

Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны <приоритет>/<тэг>.
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}

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

Пример ниже выводит в лог все сообщения с тэгом "ActivityManager" с приоритетом "Info" или выше, и сообщения с тэгом "MyApp" и приоритетом "Debug" или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет "silent" для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для "View" и "MyApp". Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается "белый список" сообщений, а *:S отправляет все остальное в "черный список").

При помощи следующего выражения фильтра отображаются все сообщения с приоритетом "warning" или выше для всех тэгов:
adb logcat *:W

Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"

Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.

Контроль формата вывода лога

Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.

brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.

При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v <format>]
Пример, который показывает сообщения в формате thread:
adb logcat -v thread
Нужно отметить, что можно использовать только один формат с параметром -v.

Просмотр альтернативного буфера лога

Система логов Android держит несколько кольцевых буферов для лога сообщений и не все сообщения отправляются в основной буфер. Для отображения дополнительных сообщений лога нужно запустить logcat с параметром -b.

Таким образом можно посмотреть один из альтернативных буферов:
radio Просмотр буфера с сообщениями связанными с радио/телефоном.
events Просмотр буфера с сообщениями связанными с событиями.
main Просмотр основного буфера (по умолчанию).

Пример ниже показывает буфер с радио и телефонными сообщениями:
adb logcat -b radio

Просмотр stdout и stderr

По умолчанию система Android шлет вывод stdout и stderr (System.out и System.err) в /dev/null (удаляет). В процессах, которые выполняются в виртуальной машине Dalvik (Dalvik VM) может осуществляться запись копии вывода в лог файл. В этом случае система записывает сообщения в лог используя тэги stdout и stderr с приоритетом I.
Для перенаправления вывода нужно остановить эмулятор/устройство, затем выполнить команду shell setprop для включения перенаправления вывода. Пример того как это делается:
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start

Система сохраняет эту настройку, пока работает эмулятор/устройство. Чтобы использовать эту настройку по умолчанию в эмуляторе/устройстве, нужно добавить эту команду в /data/local.prop в эмуляторе/устройстве.

Список параметров команды logcat
-b <buffer> Загрузить альтернативный буфер лога для просмотра, такой как event или radio. Основной буфер используется по умолчанию.
-c Очистить (сбросить) лог и выйти.
-d Вывести лог на экран и выйти.
-f <filename> Записать сообщения лога в файл <filename>. По умолчанию в stdout.
-g Вывести размер указанного буфера лога и выйти.
-n <count> Установить максимальное количество ротаций лога (количество хранимых сжатых фрагментов лога) <count>. По умолчанию 4. Требует параметр -r.
-r <kbytes> Выполнять ротацию каждые <kbytes> вывода (разделять лог на фрагменты по <kbytes>). По умолчанию 16. Требует параметр -f.
-s Устанавливает silent фильтром по умолчанию.
-v <format> Устанавливает формат вывода сообщений лога. По умолчанию brief.
Полезное
Когда работает ADB, когда Fastboot, а когда они не работают совсем.
Если не появляется запрос на отладку USB
Возможное решение проблем с подключением
Список софта для ПК для GUI работы с файловой системой через ADB
Как перевести в режим полета xiaomi на андройд 10 череp adb и обратно?

Полезные скрипты
ˇ
Скрипты на shell под Android
adb shell <команда из списка shell> Команда посылается через shell
Пример: adb shell rm -r /system/sd/app Удаление приложений, установленных на карту памяти.
Пример: adb shell rm -r /system/sd/app-private Удаление приложений, установленных на карту памяти в раздел private.
Пример: adb shell cat /proc/mtd Выдаст информацию о разделах внутренней памяти девайса.
Выдаст что-то вроде:
dev: size erasesize name
mtd0: 000a0000 00020000 "misc"
mtd1: 00420000 00020000 "recovery"
mtd2: 002c0000 00020000 "boot"
mtd3: 0fa00000 00020000 "system"
mtd4: 02800000 00020000 "cache"
mtd5: 0af20000 00020000 "userdata"

Пример: adb shell df Выдаст информацию о свободных ресурсах в разделах памяти аппарата.
Выдаст что-то вроде:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 160664 0 160664 0% /dev
/dev/block/mtdblock4 40960 1292 39668 3% /cache
/dev/block/mtdblock3 256000 146888 109112 57% /system
/dev/block/mtdblock5 179328 125728 53600 70% /data
/dev/block/mmcblk0p1 15521280 10056880 5464400 65% /sdcard

Создаем в папке с ADB файл с расширением .cmd или .bat (проверяем что .cmd или .bat это расширение файла а не его имя) и пишем туда:
скопировать блок (задаем блок и выходящие имя)
adb shell su -c dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096


узнать какие блоки то в общем есть
adb shell cat /proc/partitions


Пример:
adb shell mount -o rw /dev/block/mtdblock3 /system
adb shell mount -o rw /dev/block/mtdblock5 /data

Монтировать разделы /system и /data в режиме ClockworkMod recovery.

разблокировать от графического ключа на блокировке (после команды ввести любой жест)
adb shell rm /data/system/gesture.key

Графическая блокировка. Код блокировки экрана - решение проблем.

Остановка службы ADB.
@echo off
taskkill /F /IM adb.exe

Решение ошибки api-ms-win-crt-locale-l1-1-0.dll
Решение ошибки Exception occurred while executing 'grand'
Несколько слов о режимах работы телефона
Получение logcat определённого приложения
Вводить ADB/Fastboot команды другому телефону
Вторичные автоматизированные инструменты для работы с ADB


Скачать:
Platform-tools (adb & fastboot) r35.0.1
Platform-tools (adb & fastboot) r34.0.5
Platform-tools (adb & fastboot) r23.1.0 Windows XP
Platform-tools (adb & fastboot) Для Android

Прошлые версии
Platform-tools (adb & fastboot) r34.0.4 rev.2
Platform-tools (adb & fastboot) r34.0.4
Platform-tools (adb & fastboot) r34.0.3
Platform-tools (adb & fastboot) r34.0.1 rev.2
Platform-tools (adb & fastboot) r34.0.1
Platform-tools (adb & fastboot) r34.0.0
Platform-tools (adb & fastboot) r33.0.3
Platform-tools (adb & fastboot) r33.0.2
Platform-tools (adb & fastboot) r33.0.1
Platform-tools (adb & fastboot) r33.0.0
Platform-tools (adb & fastboot) r32.0.0
Platform-tools (adb & fastboot) r31.0.3
Platform-tools (adb & fastboot) r31.0.2
Platform-tools (adb & fastboot) r31.0.1
Platform-tools (adb & fastboot) r31.0.0
Platform-tools (adb & fastboot) r30.0.5
Platform-tools (adb & fastboot) r30.0.4
Platform-tools (adb & fastboot) r30.0.3
Platform-tools (adb & fastboot) r30.0.2
Platform-tools (adb & fastboot) r30.0.1
Platform-tools (adb & fastboot) r30.0.0
Platform-tools (adb & fastboot) r29.0.6
Platform-tools (adb & fastboot) r29.0.5
Platform-tools (adb & fastboot) r29.0.4
Platform-tools (adb & fastboot) r29.0.3
Platform-tools (adb & fastboot) r29.0.2
Platform-tools (adb & fastboot) r29.0.1
Platform-tools (adb & fastboot) r29.0.0
Platform-tools (adb & fastboot) r28.0.3
Platform-tools (adb & fastboot) r28.0.2
Platform-tools (adb & fastboot) r28.0.1
Platform-tools (adb & fastboot) r28.0.0
Platform-tools (adb & fastboot) r27.0.1
Platform-tools (adb & fastboot) r27.0.0
Platform-tools (adb & fastboot) r26.0.2
Platform-tools (adb & fastboot) r26.0.1
Platform-tools (adb & fastboot) r26.0.0
Platform-tools (adb & fastboot) r26.0.0-RC2
Platform-tools (adb & fastboot) r26.0.0-RC1
Platform-tools (adb & fastboot) r25.0.6
Platform-tools (adb & fastboot) r25.0.5
Platform-tools (adb & fastboot) r25.0.4
Platform-tools (adb & fastboot) r25.0.3
Platform-tools (adb & fastboot) r25.0.2
Platform-tools (adb & fastboot) r25.0.1
Platform-tools (adb & fastboot) r25.0.0
Platform-tools (adb & fastboot) r24.0.4
Platform-tools (adb & fastboot) r24.0.3
Platform-tools (adb & fastboot) r24.0.2
Platform-tools (adb & fastboot) r24.0.1
Platform-tools (adb & fastboot) r24
Platform-tools (adb & fastboot) r24 RC3


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


Сообщение отредактировал sergrauber - 13.06.24, 13:55
Причина редактирования: Platform-tools (adb & fastboot) r35.0.1



Реп: (3)
А как с помощью Fastboot можно сделать Hard Reset? Просто в одного друга есть китайский смартфон один, и он его заблокировал. Можно зайти только в режимы Fastboot и тестирования.



Реп: (3)
Или как стереть полностью раздел Data?



Реп: (316)
Через fastboot
# fastboot erase <data>*
Через adb не знаю. :blush:

* - название раздела как оно в системе.
Может быть data, а может userdata
Название смотреть в
/dev/block/platform/???/by-name

* alex2534alex,
Заблокировано чем? Граф ключ? см. шапку

Сообщение отредактировал rgusev - 06.05.15, 11:56



Реп: (446)
Товарищи, нуждаюсь в вашем совете, я заменил в стоковом boot.img демон adbd и отредактировал default.prop вот так
изменения defaul.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=1
persist.mtk.aee.aed=on
ro.debuggable=1
ro.adb.secure=0
persist.sys.usb.config=mtp,mass_storage,adb <- так можно? да, и именно в такой последовательности
persist.service.adb.enable=1
persist.service.acm.enable=0
ro.mount.fs=EXT4
ro.persist.partition.support=no

Я хотел чтобы привилегии предоставлялись только по команде adb root, а не сразу как при ro.secure=0. И я почти добился того, чего хотел, только надо шнурок передёргивать и главный недостаток, что после команды adb root невозможно сбросить привилегии, кроме как перезагрузкой. Различные комбинации команд adb kill-server, adb start-server, adb usb не дают желаемого эффекта, подскажите есть ли ещё какие-нибудь чудо команды, чтобы выйти из adb рута или может adbd подходящий надо поискать, как оно вообще должно происходить в девелоперских девайсах?.
Текст процесса
C:\>adb devices -l
List of devices attached
69WSLV9PVOWWUOY5 device product:lo_1_open_ua2 model:LG_X135 device:lo_1

C:\>adb remount
remount failed: Permission denied

C:\>adb shell
shell@lo_1:/ $ id
id
uid=2000(shell) gid=2000(shell) groups=1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(ne
t_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0

shell@lo_1:/ $ exit
exit

C:\>adb root
restarting adbd as root

C:\>adb remount
(завис, передёргивание шнура USB)
^C
C:\>adb remount
remount succeeded

C:\>adb shell
root@lo_1:/ # id
id
uid=0(root) gid=0(root) context=u:r:shell:s0

root@lo_1:/ # exit
exit

C:\>adb kill-server

C:\>adb usb
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting in USB mode

C:\>adb shell
root@lo_1:/ # exit
exit

C:\>

Картинка процесса
Прикрепленное изображение

Прикреплю на всякий случай тут этот Прикрепленный файлadbd.zip ( 130.36 КБ )

Получилось добиться переключения режимов ADB в загруженном Android без передёргивания шнурка, причём достаточно только команды
C:\>adb shell setprop service.adb.root 0
для этого надо добавить в init.usb.rc следующие стоки
init.usb.rc
#This property trigger has added to imitiate the previous behavior of "adb root".
#The adb gadget driver used to reset the USB bus when the adbd daemon exited,
#and the host side adb relied on this behavior to force it to reconnect with the
#new adbd instance after init relaunches it. So now we force the USB bus to reset
#here when adbd sets the service.adb.root property to 1. We also restart adbd here
#rather than waiting for init to notice its death and restarting it so the timing
#of USB resetting and adb restarting more closely matches the previous behavior.

on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1

on property:service.adb.root=0
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1

on property:mediatek.usb.port.mode=usb
write /sys/devices/platform/mt_usb/portmode 0

on property:mediatek.usb.port.mode=uart
write /sys/devices/platform/mt_usb/portmode 1

Правда из режима фактори всёравно приходится дёргать шнурок.

Сообщение отредактировал эйТЫ - 19.06.15, 01:14



Реп: (829)
эйТЫ @ 08.05.2015, 20:41 *
подскажите есть ли ещё какие-нибудь чудо команды,

adb shell 'setprop service.adb.root 0; setprop ctl.restart adbd'

или так
adb shell 'stop adbd && setprop service.adb.root 0 && start adbd &'


Сообщение отредактировал Softor - 08.05.15, 20:48



Реп: (446)
Спасибо, проверил, работает, хоть и пришлось кавычки по убирать почему-то.
C:\>adb shell setprop service.adb.root 0; setprop ctl.restart adbd
C:\>adb shell
shell@lo_1:/ $ id
id
uid=2000(shell) gid=2000(shell)
оно же в профиль
C:\>adb shell
root@lo_1:/ # setprop service.adb.root 0
setprop service.adb.root 0

root@lo_1:/ # setprop ctl.restart adbd
setprop ctl.restart adbd

C:\>adb shell
shell@lo_1:/ $ id
id
uid=2000(shell) gid=2000(shell)
и второй легко запоминающийся вариант
C:\>adb shell
root@lo_1:/ # stop adbd && setprop service.adb.root 0 && start adbd &
stop adbd && setprop service.adb.root 0 && start adbd &
[1] 3331
root@lo_1:/ # exit

C:\>adb shell
shell@lo_1:/ $ id
id
uid=2000(shell) gid=2000(shell)
И каждый раз при переходе пришлось передёргивать USB шнур. Жаль, надеялся, что есть какой-нибудь вариант типа adb root exit или adb user, ну на безрыбье :thank_you:

Сообщение отредактировал эйТЫ - 09.05.15, 00:04



Реп: (8)
Добрый день!
Попался HTC 328d думаю с левым boot`ом и recovery при подключении к ПК грузится в рековери но дисплей не работает.
Возможно ли прошить boot и recovery?
Пробовал flash_image, dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p21 - команды отрабатывают без ошибок но реально ничего не пишут (записывал в boot /dev/zero).
в режиме бутлоадера не опредиляется vid/pid 0000.
fastboot не может дождаться устройства(
Как дальше жить



Реп: (316)
эйТЫ @ 08.05.2015, 20:41 *
Я хотел чтобы привилегии предоставлялись только по команде adb root, а не сразу как при ro.secure=0
ну так и поставьте ro.secure=1.
Чем вам мешает этот параметр? Он для того и придуман.
На работу root при наличии менеджера (типа SuperSU) он не влияет.
Смысл этого параметра "от чьего имени будет запускатся задача. Сразу от root или от пользователя"
Если у вас нет в системе su, то запуск происходит от пользователя "полюбому".
А если если есть, то при ro.secure=1 запуск от пользователя, но возможен подьём прав до root в случае запроса.
Запрос становится виден при наличии менеджера.
Вот и вся разница.
И в ADB тоже самое. Только переход в root осуществляется командой su
# adb shell
# su


Добавлено 12.05.2015, 11:51:

Romich_777 @ 12.05.2015, 01:39 *
при подключении к ПК грузится в рековери но дисплей не работает.
HTC штука хитропопая.
В этом самом "тёмном рекавери" ADB работает в каком режиме? "пользователь" или "root"?
Если root, то можете заливать разделы по dd.
Если "пользователь", то adb reboot bootloader и попадёте в fastboot.
А что шить, это читайте топик своего девайса. ... дабы не окирпичить прошив ещё что то не то.

Сообщение отредактировал rgusev - 12.05.15, 11:58



Реп: (8)
* rgusev,

whoami говорит что root, adb root того же мнения.
пробовал dd он говорит что удачно записано n данных но реально не изменяет разделы. Писал dd if=/dev/zero of=/dev/block/mmcblk0p22 (boot) потом читал обратно но нулей там не было.

Сообщение отредактировал Romich_777 - 12.05.15, 12:53



Реп: (316)
Гм. Попробуйте так.
Возьмите нормальный, штатный, проверенный рекавери.
Перейдите в fastboot
# adb reboot fastboot
# adb reboot bootloader
По идее у вас он должен войти в fastboot
Войдёте, попробуйте загрузить тот самый проверенный рекавери без его прошивки
# fastboot boot recovery.img
Или так же попробуйте загрузится с таким же проверенным и рабочим boot.img
# fastboot boot boot.img (в этом случае должна пройти штатная загрузка и загрузится сама ОС)
..
И вообще... что за дурная привычка шить не проверяя предварительно "от той ли стенки гвоздь"... :drinks:

Сообщение отредактировал rgusev - 12.05.15, 15:31



Реп: (8)
fasboot не работает, видно только 2 пустые флешки и CD.

Сообщение отредактировал Romich_777 - 12.05.15, 13:35



Реп: (316)
Ну что я вам отвечу.
Пожалуй вам не сюда всё же.
Тут тема по тому что можно сделать по ADB, а вам нужно "что нужно сделать в данном случае на данном аппрате".
Вам в теме по прошивкам вашего устройства в подраздел "как оживлять кирпичи и деавайсы прикидывающиеся таковыми"



Реп: (8)
* rgusev,

тема аппарата не очень жива Desire VC
и на том спасибо, буду копать



Реп: (316)
rgusev @ 12.05.2015, 13:03 *
Перейдите в fastboot
# adb reboot fastboot
ААААА!!!! Я ИДИОТ!!

# adb reboot bootloader



Реп: (316)
Кстати.
Уважаемый куратор.
Может подправить текст в шапке про команды ADB?
Ведь упущен такой момент как работа через ADB на самом устройстве.
Т.е. после того как зашли на устройство по adb shell там куча чего можно делать.
Создавать и удалять папки и файлы.
Перемещать и копировать папки и файлы.
Менять артибуты у папок и файлов.
.....

И ещё.
Не совсем верно описаны команды adb pull и adb push
Эти команды могут сдёргивать или загружать с/на устройство не только отдельные файлы, но и папки.

Сообщение отредактировал rgusev - 12.05.15, 16:40



Реп: (2056)
Подскажите,у тела наступил день сурка( похоже память встала в режим только чтение) - можно ли что-то сделать с памятью(с переводом в режим чтение/запись) при помощи ADB или вообще чем либо?



Реп: (829)
* sandr2010,
что-то типа
adb shell su -c "mount -o rw,remount /dev/block/platform/msm_sdcc.1/by-name/system /system"

где msm_sdcc.1 - надо проверять в вашей системе...



Реп: (2056)
* Softor,
Спасибо,будем пробовать.Если будут вопросы - в личку можно?

Сообщение отредактировал sandr2010 - 12.05.15, 22:55



Реп: (829)
sandr2010 @ 12.05.2015, 22:29 *
Если будут вопросы - в личку можно?

Цитировать свою подпись не буду...



Реп: (8)
При загрузке устройства оно появляется как offline. Как сделать так чтобы можно было хотя бы логи увидеть? Включить отладку в настройках невозможно ибо устройство не грузится дальше анимации. Или подскажите как хотя бы вытащить логи

Сообщение отредактировал vanya150600 - 15.05.15, 16:38


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 16.06.24, 16:13