ADB и все что с помощью него можно сделать

Тема в разделе "Программы для Android-разработчиков", создана пользователем dreamkin, 16/10/11.

  1. dreamkin
    Offline

    dreamkin Разработчик

    Регистрация:
    1/8/11
    Сообщения:
    160
    Репутация:
    122
    Что такое ADB (Android Debug Bridge).

    Здесь и далее: PC - ПК, компьютер к которому подключено устройство, HTC - устройство с которым мы будем работать.

    ADB - консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
    Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.

    ADB позволяет:
    • Промотреть какие устройства подключены и могут работать с ADB.
    • Просматривать логи HTC.
    • Копировать файлы с/на HTC.
    • Устанавливать/Удалять приложения на HTC.
    • Удалять (очищать) раздел data на HTC
    • Прошивать (перезаписывать) раздел data на HTC.
    • Осуществлять различные скрипты управления HTC.
    • Управлять некоторыми сетевыми параметрами HTC.

    Проверить работает ли служба можно в Диспетчере задач, остановить службу можно там же.
    Поставляется ADB в комплекте инструментария разработчика SDK (включает в себя эмулятор, в связи с чем очень дофига весит!). Я рекомендую скачать Толька сам ADB отдельно
    Распаковываем архив (рекомендуется распаковывать в корень диска или в другую папку, не содержащую русских букв в пути, ). Например: c:\adb\ или a:\adb\

    В итоге должна получиться папка в корне диска с содержимым:
    #:\adb\adb.exe - непосредственно сам ADB, с которым будем работать.
    #:\adb\AdbWinApi.dll - библиотека для работы ADB.
    #:\adb\AdbWinUsbApi.dll - библиотека для работы ADB.
    #:\adb\fastboot.exe - управление устройством переведенным в режим fastboot.



    Так как ADB является консольным приложением, работать из Windows с ним не очень комфортно.

    Есть несколько способов работы с консолью.
    Например, с помощью cmd.exe (Обработчика команд Windows).
    Запускается любым из следующих способов:
    1. Пуск -> Выполнить -> сmd -> Ввод (Enter).
    2. Сочетанием клавиш WIN+R -> сmd -> Ввод (Enter).
    3. В папке Windows\System32 находим файл cmd.exe и запускаем его.

    Попадаем в обработчик.

    [​IMG]

    Переходим в каталог ADB командой: cd c:\adb\.

    [​IMG]

    Далее работаем посредством команд ADB. Список команд расположен ниже.

    Намного удобнее работать с ADB через оболочку (FAR, Total, и т.д.).
    Я пользуюсь оболочкой


    Настраиваем телефон
    Для этого в телефон->настройки->приложения->разработка помечаем Отладка USB.
    [​IMG]

    При подключении USB-кабеля выбираем Только зарядка.

    Проверяем соединение на компьютере.
    Создаем в распакованной папке adb файл devices.cmd (проверяем что .cmd это расширение файла а не его имя) и пишем туда:
    Код:
    @echo off
    adb devices
    pause
    Запускаем созданный файл. Если все сделано правильно, будут видны строки:
    Код:
    D:\adb>devices.cmd
    adb devices
    List of devices attached
    [I]HT16GV402012    device[/I]
    D:\adb>pause
    Для продолжения нажмите любую клавишу . . .
    [​IMG]

    Если неправильно, то в списке присоединенных устройств (List of devices attached) будет пусто.
    Удаляем хвосты от предыдущей установки драйверов:

    Скачиваем утилиту USBDeview, запускаем.
    [​IMG]

    Нажимаем на заголовок второго столбца (Description). Удаляем (uninstall) строки содержащие HTC Android Phone USB Device.
    [​IMG]

    Отключаем HTC от USB кабеля и заново подключаем.
    Если драйверы присутствуют в системе, начнется их установка.

    Принудительная установка, если все само не хочет устанавливаться:

    Драйверы для Android устройств от HTC. Версия 01005.
    Драйверы для Android устройств от HTC. Версия 01007.

    Скачиваем архив, распаковываем.
    Пуск -> Правой мышкой по Мой компьютер (Или сочетанием клавиш WIN+Break) -> Диспетчер устройств -> Andoid USB Devices -> правой мышкой по My HTC -> Выполнить поиск драйверов на этом компьютере -> Выбрать драйвер из списка уже установленных -> Установить с диска -> Указываем путь к распакованным драйверам, выбираем подкаталог x86\ для 32-разрядных версий Windows или x64\ для 64-разрядных версий.

    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    Пробуем пункт "Проверяем соединение".




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

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

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

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

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

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

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

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

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

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

    adb shell Запуск упрощенного unix shell.

    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 Выдаст информацию о разделах внутренней памяти HTC.
    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 Выдаст информацию о свободных ресурсах в разделах памяти HTC.
    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 emu <команда> Послать команду в консоль эмулятора
    Пример:
    adb shell mount -o rw /dev/block/mtdblock3 /system
    adb shell mount -o rw /dev/block/mtdblock5 /data

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

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

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

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

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

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

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

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

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

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

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

    adb reboot recovery Перезагрузка HTC в режим 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




    adb logcat [<Ключи>] [<фильтр>] Посмотреть логи с отладочной информацией HTC:

    Команду 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.


    С помощью logcat Вы можете видеть, какие процессы запущены, если процесс запущен после определенного интервала времени, он будет есть аккумулятор. Таким образом, следя за действиями некоторых программ можно увидеть кто ”кушает” вашу батарею.

    Запускаем:
    adb shell
    logcat

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

    Пример:
    => Ничего особенного не происходит
    D/dalvikvm( 75): GC freed 40165 objects / 1974768 bytes in 91ms
    D/dalvikvm( 1560): GC freed 25 objects / 1800 bytes in 53ms
    D/dalvikvm( 1687): GC freed 7551 objects / 330032 bytes in 102ms

    => Запускается процесс Twidroid

    I/ActivityManager( 75): Start proc com.twidroidpro:remote for service com.twidroid ...

    => возвращается к освобождению объектов

    D/dalvikvm( 1287): GC freed 3 objects / 72 bytes in 95ms
    D/dalvikvm( 1253): GC freed 281 objects / 12688 bytes in 91ms

    Если вы видите, что приложения выполняют какие-либо действия, когда они не должны этого делать, это значит что они расходуют батарею, потому что криво написаны (содержат ошибки в коде) или по другим причинам …

    Пример неправильной работы приложения:
    D/dalvikvm( 1287): GC freed 3 objects / 72 bytes in 92ms
    D/dalvikvm( 2216): GC freed 6646 objects / 313032 bytes in 104ms
    D/NetworkLocationProvider( 75): onCellLocationChanged [***]
    D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets .UpdateWeather$2@447843d8
    D/dalvikvm( 1253): GC freed 281 objects / 12688 bytes in 93ms
    D/NetworkLocationProvider( 75): onCellLocationChanged [***]
    D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets .UpdateWeather$2@447843d8
    D/dalvikvm( 75): GC freed 41839 objects / 1963448 bytes in 88ms
    D/dalvikvm( 1287): GC freed 3 objects / 72 bytes in 94ms
    D/NetworkLocationProvider( 75): onCellLocationChanged [***]
    D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets .UpdateWeather$2@447843d8
    D/dalvikvm( 2216): GC freed 6657 objects / 314648 bytes in 35ms D/NetworkLocationProvider( 75): onCellLocationChanged [***]
    D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets .UpdateWeather$2@447843d8
    D/dalvikvm( 1253): GC freed 279 objects / 12640 bytes in 94ms
    D/NetworkLocationProvider( 75): onCellLocationChanged [***]
    D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets .UpdateWeather$2@447843d8
    D/dalvikvm( 1287): GC freed 3 objects / 72 bytes in 60ms
    D/dalvikvm( 2216): GC freed 6661 objects / 314192 bytes in 104ms
    D/NetworkLocationProvider( 75): onCellLocationChanged [***]
    D/LocationManager( 2216): removeUpdates: listener = com.levelup.beautifulwidgets .UpdateWeather$2@447843d8

    Видно, что приложение BeautifulWidgets пытается удалить одини и те же обновления, тем самым разряжает батарею без причины … И это происходит каждые 10 секунд!
    Вы, наверное, уже догадались что с этим приложением нужно сделать? Правильно - Удалить =)
    Чем меньше вы видите в logcat тем лучше .

    Очищаем лог
    Если вы хотите очистить лог и видеть только то что будет происходить с телефоном с данного момента, то нужно вернуться к adb shell и ввести logcat -c . Это очистит лог. После этого введите logcat.

    adb bugreport Показывает багрепорт с утройства

    DATAOPTS:
    (no option) - don't touch the data partition
    -w - wipe the data partition
    -d - flash the data partition

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

    Позволяет прошивать неподписанные образы. В выпускаемых устройствах эта функция отключена, так как поддержка USB была отключена в загрузчике. Для полнофункционального использования fastboot у вас должен быть инженерный SPL, или SPL с отключенным Security flag (S-OFF).

    SPL – это второй программный загрузчик. В сочетании с IPL, составляют загрузчик устройства. Помимо начальной загрузки Android, загрузчик также выполняет различные диагностические функции. Одна из этих функций управления данными во внутренней флэш-памяти устройства. В зависимости от установленного загрузчика SPL, пользователь сможет прошивать подписанные NBH файлы, образы флэш-памяти NAND и многое другое. Обратите внимание, что SPL установлен и работает, независимо от Android, который работает поверх его. IPL – это программа начальной загрузки. Первоначальные загрузки/инициализации оборудования. Примерно то же, что BIOS компьютера.

    Проверить, доступен ли нам fastboot можно перезагрузив HTC в загрузчик adb reboot bootloader. В верхней строке, вы должны увидеть S-OFF (безопасность выключена). Если вы видите S-ON, или вы видите фон с четырьмя цветами радуги, SPL не поддерживает fastboot. Вам нужно будет установить fastboot совместимый с SPL.

    Внимание! При подключении HTC в режиме bootloader необходимо еще раз установить драйвера Android 1.0 (не знаю почему именно так отображается в диспетчере устройств). Процедура почти аналогична описанной выше. Устанавливаются те же драйвера, только выбирается строчка не ADB а FASTBOOT.

    Команды fastboot:
    fastboot devices Список присоединенных устройств в режиме fastboot.

    fastboot flash <раздел> <файл> Загружает файл .img PC->HTC в определенный раздел и устанавливает его.

    fastboot erase <раздел>
    Стереть раздел.
    Разделы: boot, recovery, system, userdata, radio
    Пример: fastboot flash splash1 splash1.img Прошивка загрузочного экрана Splash.

    fastboot update <имя_файла.zip> Прошивка HTC из файла имя_файла.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 Перезагрузить HTC.

    fastboot reboot-bootloader Перезагрузить HTC в режим 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.



    AccountAndSyncSettings.apk — Синхронизация настроек серверов, необходимо для уведомлений Gmail.
    ApplicationsProvider.apk — Получает список приложений, установленных на телефоне и предоставляет варианты поиска.
    Bluetooth.apk — Bluetooth.
    Browser.apk — Браузер.
    BooksPhone.apk - Книги
    Calculator.apk — Калькулятор .
    Calendar.apk — Календарь.
    CalendarProvider.apk — Синхронизация календаря.
    Camera.apk — Камера.
    CertInstaller.apk — Управление сертификатами безопасности.
    Contacts.apk — Контакты и лог звонков.
    ContactsProvider.apk — Синхронизация контактов.
    DefaultContainerService.apk — Необходимо для установки приложений.
    DeskClock.apk — Часы и будильник.
    DownloadProvider.apk — Загрузка приложений (маркет, браузер, etc).
    DownloadProviderUI.apk — Обеспечивает загрузку файлов вручную и из Маректа.
    DrmProvider.apk — DRM функции для доступа к медиафайлам (включая рингтоны)
    DSPManager.apk — Обработка звука (эквалайзер).
    Email.apk — Почтовый клиент.
    FileManager.apk — Менеджер файлов.
    FM.apk —FM радио.
    Gallery.apk —Галерея.
    GoogleBackupTransport.apk — Механизм резервного копирования для приложений и настроек.
    GoogleCalendarSyncAdapter.apk — Синхронизация календаря.
    GoogleContactsSyncAdapter.apk —Синхронизация списка контактов с сервисом Google.
    GoogleFeedback.apk — Обратная связь для Google
    GooglePartnerSetup.apk—?
    GoogleQuickSearchBox.apk — Поиск google
    GoogleServicesFramework.apk — Сервис для доступа к приложениям google
    HTMLViewer.apk— Форматировщик HTML.
    LiveWallpapersPicker.apk — Выбор живых обоев
    MarketUpdater.apk — Список скачать / обновить для маркета. Не работает без Vending.apk
    MediaUploader.apk — Загрузка медиа файлов
    MediaProvider.apk — Нужна для доступа к медиафайлам
    Mms.apk — Сервис sms и mms
    Music.apk — Музыкальный и видео проигрыватель
    NetworkLocation.apk— Определяет местоположение по сети GSM.
    PackegeInstaller.apk— Сервис установки приложений (apk) с карты памяти. Не требуются при установке приложений из Маркета.
    Phone.apk — Приложение для телефона и номеронабератель
    Protips.apk— Виджет "помощь в использовании андроида"
    Settings.apk — Меню настроек устройства
    SettingsProvider.apk — Синхронизация настроек
    SetupWizard.apk — Настройка при первом включении
    SoundRecorder.apk —Диктофон
    SpareParts.apk — Меню дополнительных настроек
    Stk.apk — Sim Tool Kit; менеджер SIM карты
    Superuser.apk — Суперпользователь
    SystemUI.apk—отвечает за настройки статусбара и др,служит важным дополнением файла framework-res.apk
    Talk.apk— Google Talk.
    TelephonyProvider.apk — Синхронизация телефона
    ThemeChooser.apk—Установка тем,оформления.
    ThemeManager.apk—Менеджер установленных тем,оформления.
    Torch.apk—Фонарик
    TtsService.apk — Озвучивание текста, нужно для навигатора Google и карт Google версии v5 и выше.
    UserDictionaryProvider.apk — Словари для клавиатуры.
    Vending.apk — Маркет
    VoiceDialer.apk — Голосовой набор.
    VpnServices.apk — Приложение для VPN



    Создаем в папке с ADB файл с расширением .cmd или .bat (проверяем что .cmd или .bat это расширение файла а не его имя) и пишем туда:


    Код:
    adb remount
    
    @rem HTC Hub
    adb shell rm /system/app/HtcDirect.apk
    adb shell rm /system/app/HtcDirect.odex
    
    @rem Пиндосские социалки
    adb shell rm /system/app/com.htc.idlescreen_SN.apk
    adb shell rm /system/app/com.htc.idlescreen_SN.odex
    adb shell rm /system/app/Facebook.apk
    adb shell rm /system/app/Facebook.odex
    adb shell rm /system/app/com.htc.FriendStream3DWidget.apk
    adb shell rm /system/app/com.htc.FriendStream3DWidget.odex
    adb shell rm /system/app/Flickr.apk
    adb shell rm /system/app/Flickr.odex
    adb shell rm /system/app/teeter.apk
    adb shell rm /system/app/teeter.odex
    adb shell rm /system/app/com.htc.Twitter3DWidget.apk
    adb shell rm /system/app/com.htc.Twitter3DWidget.odex
    adb shell rm /system/app/Twitter.apk
    adb shell rm /system/app/Twitter.odex
    adb shell rm /system/app/HtcTwitter.apk
    adb shell rm /system/app/HtcTwitter.odex
    adb shell rm /system/app/HtcRecommends.apk
    adb shell rm /system/app/HtcRecommends.odex
    adb shell rm /system/app/HtcRecommendsWidget.apk
    adb shell rm /system/app/HtcRecommendsWidget.odex
    adb shell rm /system/app/HtcFacebook.apk
    adb shell rm /system/app/HtcFacebook.odex
    adb shell rm /system/app/FriendStream.apk
    adb shell rm /system/app/FriendStream.odex
    
    @rem Ролики из Голивуда
    adb shell rm /system/app/htcwatchwidget3d.apk
    adb shell rm /system/app/htcwatchwidget3d.odex
    adb shell rm /system/app/WatchApp.apk
    adb shell rm /system/app/WatchApp.odex
    
    @rem Почта. Использую AndroMail
    adb shell rm /system/app/htcmailwidgets3d.apk
    adb shell rm /system/app/htcmailwidgets3d.odex
    adb shell rm /system/app/Mail.apk
    adb shell rm /system/app/Mail.odex
    adb shell rm /system/app/Gmail.apk
    adb shell rm /system/app/Gmail.odex
    
    @rem Акции
    adb shell rm /system/app/com.htc.TrendsWidget.apk
    adb shell rm /system/app/com.htc.TrendsWidget.odex
    adb shell rm /system/app/Stock.apk
    adb shell rm /system/app/Stock.odex
    adb shell rm /system/app/IdleScreen_Stock.apk
    adb shell rm /system/app/IdleScreen_Stock.odex
    adb shell rm /system/app/FusionStockWidget.apk
    adb shell rm /system/app/FusionStockWidget.odex
    adb shell rm /system/app/DCSStock.apk
    adb shell rm /system/app/DCSStock.odex
    
    @rem Музыка. Использую Meridian Player
    adb shell rm /system/app/com.htc.MusicWidget.apk
    adb shell rm /system/app/com.htc.MusicWidget.odex
    adb shell rm /system/app/HtcStreamPlayer.apk
    adb shell rm /system/app/HtcStreamPlayer.odex
    
    @rem Мировые часы
    adb shell rm /system/app/WorldClock.apk
    adb shell rm /system/app/WorldClock.odex
    
    @rem Слежение, Карты, Улицы, Путешествия, Отпечатки на карте, Навигация. Использую Навител.
    adb shell rm /system/app/HtcLaputa.apk
    adb shell rm /system/app/HtcLaputa.odex
    adb shell rm /system/app/HtcLaputaInstaller.apk
    adb shell rm /system/app/HtcLaputaInstaller.odex
    adb shell rm /system/app/TripWidget3D.apk
    adb shell rm /system/app/TripWidget3D.odex
    adb shell rm /system/app/Street.apk
    adb shell rm /system/app/Street.odex
    adb shell rm /system/app/NetworkLocation.apk
    adb shell rm /system/app/NetworkLocation.odex
    adb shell rm /system/app/Maps.apk
    adb shell rm /system/app/Maps.odex
    adb shell rm /system/app/HtcLocationPicker.apk
    adb shell rm /system/app/HtcLocationPicker.odex
    adb shell rm /system/app/HtcLocationService.apk
    adb shell rm /system/app/HtcLocationService.odex
    adb shell rm /system/app/HtcLocationsWidget3d.apk
    adb shell rm /system/app/HtcLocationsWidget3d.odex
    adb shell rm /system/app/HtcLocationsWidgetSettings3d.apk
    adb shell rm /system/app/HtcLocationsWidgetSettings3d.odex
    adb shell rm /system/app/HtcNavigateWidget3d.apk
    adb shell rm /system/app/HtcNavigateWidget3d.odex
    
    @rem Синхронизация непонятно чего
    adb shell rm /system/app/MyHTC.apk
    adb shell rm /system/app/MyHTC.odex
    adb shell rm /system/app/HtcHubSyncProvider.apk
    adb shell rm /system/app/HtcHubSyncProvider.odex
    
    @rem Убогая читалка. Юзаем MoonReader
    adb shell rm /system/app/EReader.apk
    adb shell rm /system/app/EReader.odex
    adb shell rm /system/app/MyShelf_Widget.apk
    adb shell rm /system/app/MyShelf_Widget.odex
    
    @rem GoogleTalk
    adb shell rm /system/app/Talk2.apk
    adb shell rm /system/app/Talk2.odex
    
    @rem Неудобный виджет СМС сообщений
    adb shell rm /system/app/com.htc.htcmsgwidgets3d.apk
    adb shell rm /system/app/com.htc.htcmsgwidgets3d.odex
    
    @rem Обои
    adb shell rm /system/app/MagicSmokeWallpapers.apk
    adb shell rm /system/app/MagicSmokeWallpapers.odex
    adb shell rm /system/app/VisualizationWallpapers.apk
    adb shell rm /system/app/VisualizationWallpapers.odex
    
    @rem Погода. Использую Gismeteo
    adb shell rm /system/app/Weather.apk
    adb shell rm /system/app/Weather.odex
    adb shell rm /system/app/WeatherAgentService.apk
    adb shell rm /system/app/WeatherAgentService.odex
    adb shell rm /system/app/WeatherLiveWallpaper.apk
    adb shell rm /system/app/WeatherLiveWallpaper.odex
    adb shell rm /system/app/WeatherProvider.apk
    adb shell rm /system/app/WeatherProvider.odex
    adb shell rm /system/app/WeatherSyncProvider.apk
    adb shell rm /system/app/WeatherSyncProvider.odex
    adb shell rm /system/app/IdleScreen_Weather.apk
    adb shell rm /system/app/IdleScreen_Weather.odex
    adb shell rm /system/app/HtcWeather3DWidget.apk
    adb shell rm /system/app/HtcWeather3DWidget.odex
    adb shell rm /system/app/HtcWeatherWallpaper.apk
    adb shell rm /system/app/HtcWeatherWallpaper.odex
    
    @rem Виджет фоток
    adb shell rm /system/app/HtcPhotoGridWidget3D.apk
    adb shell rm /system/app/HtcPhotoGridWidget3D.odex
    adb shell rm /system/app/HtcPhotoWidget.apk
    adb shell rm /system/app/HtcPhotoWidget.odex
    
    @rem Перезагружаем тело
    adb reboot
    Код:
    @echo off
    taskkill /F /IM adb.exe
    Переименовываем радио в 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
    Код:
    @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




    2011.10.16 Добавил скрипт для прошивки радио. Обновил раздел logcat.
    2011.10.17 Правка раздела fastboot. Добавил скрипт для восстановления прошивки. Добавил картинки (картинки пока не мои).
    2011.10.19 Добавил скрипт для прошивки бутанимации.
    2011.10.24 Поправил скрипт удаления приложений под прошивку RevolutionHD 3.6.3.
    2011.10.26 Добавил скрипт. Получение SuperCID.
    2012.01.13 Добавил драйвер Android USB v.01009. Обновил ADB до версии 1.0.29. Мелкие правки в тексте.
    2012.02.27 Добавил скрипт. Прошивка раздела рекавери.
    2012.04.04 Прошивал Desire S. Отдельное спасибо улетает Котяре. Добавил скрипт для прошивки загрузочного раздела. Метод только для Unlock Bootloader S-On.

    Кастомные версии рекавери

    Вложения:

    • 01005.rar
      Размер файла:
      3,1 МБ
      Просмотров:
      619
    • 01007.rar
      Размер файла:
      2,4 МБ
      Просмотров:
      998
    • USBDeview.rar
      Размер файла:
      46,6 КБ
      Просмотров:
      1.037
    • 01009.rar
      Размер файла:
      9 МБ
      Просмотров:
      369
    • ADB v.1.0.29.rar
      Размер файла:
      216,2 КБ
      Просмотров:
      2.954
    Последнее редактирование модератором: 9/9/12
    iTigra, nicolayer, z361 и 28 других поблагодарили.
  2. assassin117
    Offline

    assassin117 Модератор

    Регистрация:
    27/11/10
    Сообщения:
    3.324
    Репутация:
    3.071
    Из:
    г.Кострома
    Устройство:
    P780/HTCDHD/SGT6800
    Прошивка:
    S119/кастом
    dreamkin, давно хотел такую тему создать но ты меня опередил :lol: молодец, тема очень нужная и полезная
    Последнее редактирование модератором: 9/9/12
    dreamkin поблагодарил.
  3. Sola-Scriptura
    Offline

    Sola-Scriptura Аксакал

    Регистрация:
    28/6/10
    Сообщения:
    7.951
    Репутация:
    4.345
    Из:
    Москва
    Ручки мои шаловливые накрыли сегодня рекавери, причём накрыли надёжно капитально можно сказать,
    другие методы не помогали,
    запустил ADB посидел пол часа почитал команды,
    всё восстановил.

    1.Скачиваем recovery и помещаем в папку adb
    2.Перегружаемся КПК в bootloader mode подключаем КПК к usb кабелю и Вы увидите FASTBOOT USB на экране девайса
    3. В командной строке Windows на ББ с помощью команд ADB вводим следующий код
    КОД
    cd C:\adb\ и нажимаем ENTER
    fastboot flash recovery "название".img и нажимаем ENTER
    gda959, dreamkin и Bekar поблагодарили.
  4. far_fiasco
    Offline

    far_fiasco Новичок

    Регистрация:
    10/11/11
    Сообщения:
    11
    Репутация:
    2
    Из:
    москва
    блин, извините, я нуб, подскажите что делать если...

    ставил рут, с-офф.. через (ace hаck) как раз и загнул тоже через него, но не с самого начала..
    после получения рут прав решил улучшить кернел, сначала не работал только wifi, поставил другой, телефон вис на заставке htc (зеленое на белом), хорошо что стоял хороший рекавери, поставил кастом rcmix3d там в комплекте есть кернел, телефон работал, поставил hoey3d кернел с rcmix`а стоял, все работало,потом снова поставил rcmix3d 2.3.5 sense 3.5, все работало, через какое-то время заметил, что пропали рут права, перезапустил, все так же, подключил к компу, запустил ace hаck, на половине остановилось, подождал ~30 минут, вытащил провод, вынул батарею, включил, зависло на htc на белом, зашел в hboot меню, s-off ecть, рекавери стандартный.

    плз помогите..
  5. huran438
    Offline

    huran438 Друг YouHTC

    Регистрация:
    21/8/11
    Сообщения:
    118
    Репутация:
    1.229
    Из:
    Москва
    Ну вопервых что за телефон?
  6. far_fiasco
    Offline

    far_fiasco Новичок

    Регистрация:
    10/11/11
    Сообщения:
    11
    Репутация:
    2
    Из:
    москва
    HTC Desire HD
  7. dreamkin
    Offline

    dreamkin Разработчик

    Регистрация:
    1/8/11
    Сообщения:
    160
    Репутация:
    122
    нет. во-первых, что именно вы хотите сделать на данный момент с телом
    Sola-Scriptura поблагодарил.
  8. huran438
    Offline

    huran438 Друг YouHTC

    Регистрация:
    21/8/11
    Сообщения:
    118
    Репутация:
    1.229
    Из:
    Москва
    Ну сначала делай опять с он
    Потом хард резет
    Далее опять получаешь рут и рекавери
    Рекавери не сност и не меняй!!!
    Так будет спокойнее
    Тем более сам смысл рекавери не меняется при смене одного на другой. Они все одинаковые
    Далее посмотрим. Так как тел не вижу и сказать точно не могу, только предположить)))
    А и ещё описывайте свою проблему более грамотно, так как очень много запутано.
  9. far_fiasco
    Offline

    far_fiasco Новичок

    Регистрация:
    10/11/11
    Сообщения:
    11
    Репутация:
    2
    Из:
    москва
    короче, ребят всё ок, я его воскресил, достаточно было поставить стоковую прошивку, ребут нашел и установил))

    спасибо за советы))
    Bekar поблагодарил.
  10. SheriffSS
    Offline

    SheriffSS Новичок

    Регистрация:
    20/12/10
    Сообщения:
    1
    Репутация:
    0
    Из:
    Ижевск
    Возможно ли с помощью ADB послать команду типа "YES" на определенном этапе прошивки.
    Далее подробнее. Имеется HTC HD 2, загрузчики и прочее все установлено но есть засада оторван шлейф добавления громкости, при прошивке Adroid на первом этапе могу сделать выбор откуда шить ZIP архив прошивки, нижними кнопками назад и видовзс, но в самом конце прошивки тел спрашивает какой загрузчик я использую и на выбор дает два варианта "YES" загрузчик cLK , "NO" загрузчик MAGLDR и именно в этот момент нужны боковые кнопки звука а их нет.