Установка прошивки через adb linux

Установка прошивки через adb linux

Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021

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

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

Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.

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

Скрытые команды 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->девайс.

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

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

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

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

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

adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-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 [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns

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

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

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

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

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

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

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

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

Читайте также:  Тачпад для ноутбука asus windows 10

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

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

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

f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p

Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n

Указать размер страниц nand. по умолчанию 2048.

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

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

Пример ниже выводит в лог все сообщения с тэгом «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

Источник

Как прошить Андроид в Ubuntu c помощью ADB и Fastboot

вкл. 07 Февраль 2019 . Опубликовано в Android — Общее

Как прошить Андроид в Ubuntu c помощью ADB и Fastboot. Несмотря на то, что Android и Ubuntu основаны на одном ядре Linux, но к сожалению прошить смартфон или планшет в последней крайне проблематично!

Что можно прошить в Ubuntu?

Прошивка Android в Ubuntu явно не совсем удачное занятие, так как большинство производителей просто-напросто не выпускают официальных программ для данной операционной системы. Все дело в том, что это ОС не такая популярная как Windows и выпускать и поддерживать программное обеспечение многие не считают нужным.

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

  • Xiaomi (большинство моделей)
  • Google Nexus
  • Google Pixel
  • Lenovo
  • HTC
Читайте также:  New windows games download

и большинство других, если процессор на вашем устройстве установлен от Qualcomm, то почти 80% случаях прошить можно с помощью Fastboot.

Как установить ADB и Fastboot в Ubuntu?

В репозиториях Ubuntu уже имеется необходимые утилиты ADB и Fastboot, скачивать ничего не надо! Все что вам необходимо, так это загрузить их и установить утилиты в систему. Для этого нужно открыть терминал и ввести следующие команды:

После чего ADB и Fastboot установятся на ваш компьютер Ubuntu Linux, проверить так ли это можно прописав по очереди команды в терминале:

Если вы все сделали правильно, то после ввода каждой из команд будет выводиться информация утилит adb и fastboot.

Подготовка Android и прошивка в Ubuntu

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

Далее вы можете прошить свой Android с помощью утилиты Fastboot, как это сделать вы можете ознакомившись в статье « как прошить с помощью Fastboot ?».

Источник

Установка прошивки через adb linux

[ГИД]Бэкап и восстановление разделов, прошивка рекавери, ADB под Linux, Старые добрые стандартные методы.

Все, теперь бэкапаю чаще вручную, создавая образы

Соответсвенно надо было что-то делать, а точнее восстанавливать. Сделал я это через ODIN, зашелши с винды, ибо выбора не было (надо было бэкапать) лучше. Как я это сделал тогда тут. Однако, мы пойдем другим путем, как люди дружащие с UNIX-подобными системами.

Я, как линуксойд-убунтойд, буду работать с Ubuntu 12.04, так что может быть, являясь виндоюзером вы не все поймете.
Кстати это одна из причин не использовать ODIN и Heimdall, ибо второй жуть косой, а первый чисто для виндоюзеров. Поверьте, Android SDK дает нам все, что нужно, чтобы шить рекавери и прочее.

Android SDK для вашей платформы (естессно)
Java Development kit (JDK) для своей платформы. Рекомендую 6.0/6.3. Можно еще и java Runtime Edition скачать (JRE) на всякий.

chmod u+x jre-6-linux-[platform].bin
./jre-6-linux-[platform].bin
sudo mkdir -p /usr/lib/jvm
sudo mv jre1.6.0 /usr/lib/jvm/
sudo update-alternatives —install «/usr/bin/java» «java» «/usr/lib/jvm/jre1.6.0/bin/java» 1
sudo update-alternatives —install «/usr/lib/mozilla/plugins/libjavaplugin.so» «mozilla-javaplugin.so» «/usr/lib/jvm/jre1.6.0_34/lib/i386/libnpjp2.so» 1
sudo update-alternatives —install «/usr/bin/javaws» «javaws» «/usr/lib/jvm/jre1.6.0/bin/javaws» 1

chmod u+x jdk-6-linux-[platform].bin
./jdk-6-linux-[platform].bin
sudo mv jdk1.6.0 /usr/lib/jvm/
sudo update-alternatives —install «/usr/bin/java» «java» «/usr/lib/jvm/jdk1.6.0/bin/java» 1
sudo update-alternatives —install «/usr/bin/javac» «javac» «/usr/lib/jvm/jdk1.6.0/bin/javac» 1
sudo update-alternatives —install «/usr/lib/mozilla/plugins/libjavaplugin.so» «mozilla-javaplugin.so» «/usr/lib/jvm/jdk1.6.0/jre/lib/i386/libnpjp2.so» 1
sudo update-alternatives —install «/usr/bin/javaws» «javaws» «/usr/lib/jvm/jre1.6.0/bin/javaws» 1

  1. Включим режим разработки на нашем устройстве. На ICS в «разработка» меню, в 2.3.6 вроде в «Приложениях».
  2. Открывает терминал. Пишем:

Но не все сразу! Чтобы узнать, что писать в GROUP= , надо написать в терминале id .
Мне он выдает такое:

/android_project/android-sdk-linux/platform-tools$ id
uid=1000(bloodyfoxy) gid=1000(bloodyfoxy) группы=1000(bloodyfoxy),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)

]
— write an archive of the device’s data to .
If no -f option is supplied then the data is written
to «backup.ab» in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-shared|-noshared enable/disable backup of the device’s
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
(

is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)

/backup/backup.ba значит мы сохраняем в домашнюю папку у себя на компе.
При создании бэкапа на экране устройства появится окно, где мы должны ввести пароль на бэкап. Вы знаете, что делать)

/android_project/android-sdk-linux/platform-tools$ ./adb shell
[email protected]:

/android_project/android-sdk-linux/platform-tools$ ./adb shell

# cd sdcard
/sdcard # ls
/sdcard # cd ..

# cd sdcard/
/sdcard # ls
00005.vcf caustic
00006.vcf ch.amana.android.cputuner
. ? ?.doc clockworkmod
. doc devicefriendlyname.txt
Alarms droidhen
Android external_sd
AppBak foursquare
ApparatusLevels foursquare_photo_tmp.jpg
Bloody.mbworld gameloft
Boat_Browser_Free games
Books gmon
CallLogBackupRestore gscript
CameraZOOM gunman
DCIM layar
DiskCacheIndex-97780911.tmp media
DiskCacheIndex984169234.tmp miner_savegames
Download moduletri
GarageAcidLab neotokyo_recon_nsf.jpg
Kokak ololo.pas
LOST.DIR openfeint
Mem.doc opera
Movies primer.pas
. (ну и далее тут)

Читайте также:  Astra linux kernel version

/sdcard # mount —help
BusyBox v1.19.4-cm9 static (2012-02-05 18:41 +0100) multi-call binary.

Usage: mount [OPTIONS] [-o OPTS] DEVICE NODE

Mount a filesystem. Filesystem autodetection requires /proc.

-a Mount all filesystems in fstab
-r Read-only mount
-w Read-write mount (default)
-t FSTYPE Filesystem type
-O OPT Mount only filesystems with option OPT (-a only)
-o OPT:
loop Ignored (loop devices are autodetected)
[a]sync Writes are [a]synchronous
[no]atime Disable/enable updates to inode access times
[no]diratime Disable/enable atime updates to directories
[no]relatime Disable/enable atime updates relative to modification time
[no]dev (Dis)allow use of special device files
[no]exec (Dis)allow use of executable files
[no]suid (Dis)allow set-user-id-root programs
[r]shared Convert [recursively] to a shared subtree
[r]slave Convert [recursively] to a slave subtree
[r]private Convert [recursively] to a private subtree
[un]bindable Make mount point [un]able to be bind mounted
[r]bind Bind a file or directory [recursively] to another location
move Relocate an existing mount point
remount Remount a mounted filesystem, changing flags
ro/rw Same as -r/-w

There are filesystem-specific -o flags.

/sdcard # umount —help
BusyBox v1.19.4-cm9 static (2012-02-05 18:41 +0100) multi-call binary.

Usage: umount [OPTIONS] FILESYSTEM|DIRECTORY

Unmount file systems

-r Try to remount devices as read-only if mount is busy
-l Lazy umount (detach filesystem)
-f Force umount (i.e., unreachable NFS server)
-d Free loop device if it has been used

localhost bin # wipe
wipe

system means ‘/system’
data means ‘/data’

Раздел в разработке, потому что зануды из гугла не захотели впихнуть mkfs и придется использовать их комманды для создания файловых систем.

Предоставленный мною bash был выдран с Cm9. Его версия 4.1. Более новые компильте сами, у меня компилятор не хочет почему-то и выдает дурацкие ошибки. И в итоге я получаю bash под amd64 :-/ А компилятор под ARM.
Скачаем bash_shell_4.1_ARM.zip ( 277,16 КБ )
. Извлечем в platform-tools. В терминале:

Откроем на устройстве «Эмулятор терминала», в настройках выберем пункт «командная строка» в «теме» «командная оболочка». Пропишем:

Сообщение отредактировал Natacha — 16.04.15, 18:56

Вначале скачаем образ прошивки и бутлоудера, либо рекавери или чего хотите? Обычно прошивка в образе диска идет только стоковая, кстати. Так что восстановить сток очень легко.
Имея Nexus 7, я буду брать прошивку его как пример.
Заводские образы для всех Google Nexus

Заcdимся в platform-tools , после чего введем ваш девайс в режим fastboot ручками, зажав особую комбинацию или коммандой

Теперь откроем бутлоудер

На экране появится предупреждение, что при открытии бутлоудера уничтожатся все наши данные. Ну что же, нам их не жалко.

Согласившись, подчистим разделы.

Теперь прошьем бутлоудер, перезагрузим его и прошьем образ

И закроем бутлоудер (по желанию, хотя советую закрыть и снова открыть во избежание проблем)

Сообщение отредактировал BloodyFoxy — 24.01.14, 12:59

1. Что означает при включении
Fast Boot Mode U-Boot 1.3.4 SMDKC110 N Type

2. При перепрошивке какое должно появится окно с какими вариантами выбора?

3. Как сохранить и чем текущую прошивку. ЧТобы потом можно было вернуться к ней назад?

4. Чем просматриваются файлы образов прошивки? system.img и т.п.

2. При перепрошивке какое должно появится окно с какими вариантами выбора?

3. Как сохранить и чем текущую прошивку. ЧТобы потом можно было вернуться к ней назад?

4. Чем просматриваются файлы образов прошивки? system.img и т.п.

Делать с рутом. Монтирует как флоппи, второе — отмонтирует. Если не монтирует, создайте папку /media/floppy1 под рутом (sudo will do)

major minor #blocks name

7 0 14585 loop0
7 1 2111 loop1
7 2 13545 loop2
7 3 26019 loop3
7 4 14585 loop4
7 5 20822 loop5
7 6 23940 loop6
179 0 3792000 mmcblk0
179 1 1 mmcblk0p1
179 2 5120 mmcblk0p2
179 3 408576 mmcblk0p3
179 4 408576 mmcblk0p4
179 5 854016 mmcblk0p5
179 6 2084064 mmcblk0p6
179 64 1024 mmcblk0boot1
179 32 1024 mmcblk0boot0
179 96 15558144 mmcblk1
179 97 15554048 mmcblk1p1
254 0 14584 dm-0
254 1 2110 dm-1
254 2 13545 dm-2
254 3 26019 dm-3
254 4 14584 dm-4
254 5 20821 dm-5
254 6 23940 dm-6

какие из них устройства system, cache, efi, data? bootimg это бут?
смартфон китайский Thl W3 Dual Core, Android 4.0.4

Сообщение отредактировал boTbl4 — 05.09.12, 19:47

Источник

Оцените статью