motofan logo
> 

DroidFlasher, Работа с Android телефонами через Adb и Fastboot

Zorge.R
сообщение 12.2.2015, 21:00


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800
Модель телефона: Note 9 Copper 512Gb
Прошивка: 1CR

Рейтинг: 2510



Изображение
DroidFlasher


Всем привет!
Написал небольшое и вероятно полезное для кого то приложение под Android смартфоны, на java, кросс-платформенное, утилита по работе с телефоном через adb, fastboot, recovery.

Нужны отзывы и рекомендации.
На данный момент это proof-of-concept, дальше - больше,нужны отзывы и хотелки.

DroidFlasher умеет:
- DroidFlasher Scripting (DFS) - текстовый формат для пакетной обработки заданий и автоматизации работы приложения, прошивка, загрузка через интернет, интерактивное взаимодействие с пользователем..
- Отправлять файлы на устройство через adb
- Забирать файлы с устройства через adb
- устанавливать один или сразу несколько APK файлов с ПК на телефон
- удалять пакеты по имени (можно оставлять кеш и настройки)
- бекапы / восстановление (приложений / настроек / с кешем / пользовательские данные)
- бекапить / восстанавливать разделы памяти через recovery
- прошивать recovery, kernel, прочее
- встроенные бинарники adb и fastboot для всех платформ Mac, PC, *nix.
- выполнять пакетные задания оформленные в виде файлов *.dfs, описание чуть ниже
- .....

Скачать DroidFlasher r109:
---
Mac: DroidFlasher_r109_Mac.7z (43.6MB) - md5sum: 7e627dc7e9f65bab3685c3b2242f0654
Win: DroidFlasher_r109_Win.7z (39.9MB) - md5sum: d34e335fcf72403d29ae3d18c22885d6
*nix: DroidFlasher_r109_Nix.7z (51.3MB) - md5sum: 8fce1c52f73b9d7810cd3cd46b504d42
---

Source code: available at github under MIT License - https://github.com/ZorgeR/DroidFlasher

Подробнее о DFS:
Немного о *.DFS скриптинге:
DFS (DroidFlasherScript) это простой способ для выполнения рутинной и пакетной работы с fastboot, adb или mfastboot.
*.dfs это простой текстовый файл, с примитивной структурой, как это работает?
- нажмите "run *.dfs" и выберете dfs файл
- выберите рабочий каталог (в котором приложение будет искать файлы), в следующем окне.
- ждите окончания работ

Следующий пример *.dfs файла откатывает moto x к стоковому состоянию (текстовый файл - xt1052revert.dfs. расширение может быть любым, например *.txt):
Код
dfs set workdir
fastboot oem fb_mode_set
fastboot flash partition gpt.bin
fastboot flash motoboot motoboot.img
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot flash recovery recovery.img
mfastboot flash system system.img
fastboot flash modem NON-HLOS.bin
fastboot erase modemst1
fastboot erase modemst2
fastboot flash fsg fsg.mbn
fastboot erase cache
fastboot erase userdata
fastboot erase customize
fastboot erase clogo
fastboot oem fb_mode_clear


Следующий пример показывает загрузку и прошивку рекавери для мото х:
Код
# 1. Download recovery
# 2. Reboot to fastboot
# 3. Flash downloaded recovery

dfs download "http://files.z-lab.me/mobile/Moto X/recovery/openrecovery-twrp-2.8.5.0-ghost.img"
adb reboot bootloader
fastboot flash recovery openrecovery-twrp-2.8.5.0-ghost.img

На последнем этапе можно ввести имя или полный путь до файла.

Можно добавить команды adb, в следующем примере телефон будет перезагружен через adb в fastboot, перед началом работ:
Код
adb reboot bootloader
fastboot flash boot boot.img
fastboot flash recovery recovery.img
mfastboot flash system system.img


Код
dfs radiobox "txt1|txt2|txt3|txt4" "val1|val2|val3|val4" title header content
dfs show %dialogtype% title header content

Где %dialogtype% = info, error,warning, none, confirmation
Если использовать ключ confirmation и нажать CANCEL, то следующая команда из dfs будет проигнорирована. Пример:
Код
dfs radiobox "TWRP|CWM|Phiz" "http://z-lab.me/twrp.img|http://z-lab.me/cwm.img|http://z-lab.me/phiz.img" "Recovery flashing" "Make a choice" "Select preferred recovery:"
dfs show info "Radio box answer example" "INFORMATION" "You have selected %RADIOBOXRESULT%"
dfs show confirmation "Confirm example" "CONFIRMATION" "If you press OK, you will see additional information dialog, if press CANCEL, next command or dialog will be ignored"
dfs show info "Bingo" "Thanks!" "You choice is %SHOWRESULT%"

Или следующий пример с интерактивным выбором, загрузкой из инета и прошивкой рекавери, после подтверждения пользователем:
Код
# Recovery flashing from fastboot with choice and confirm dialog
dfs radiobox "TWRP|CWM Recovery|Phiz Touch Recovery" "http://z-lab.me/twrp/recovery.img|http://z-lab.me/cwm/recovery.img|http://z-lab.me/phiz/recovery.img" "Recovery flashing" "Make a choice" "Select preferred recovery:"
dfs download %RADIOBOXRESULT%
dfs show confirmation "FLASHING" "WARNING" "If you press OK, DroidFlasher will flash new recovery from %RADIOBOXRESULT%"
fastboot flash recovery recovery.img


Поддерживаются все команды (fastboot/mfastboot/adb), можно писать большие пакетные файлы для выполнения любых операций:
Код
adb devices -l
adb reboot bootloader
fastboot devices
adb push /local /remote
fastboot oem unlock


Также, для:
- "fastboot flash /local/file"
- "fastboot boot /local/file"
- "adb sideload /local/file"
- "adb push /local /remote"
- "adb pull /remote /local"
Можно в dfs файле для локального файла указать как абсолютный путь, так и просто имя (DroidFlasher проверит наличие файла сначала по абсолютному адресу, если не найдет, будет использовать файл с этим именем из рабочей директории.
Для примера, следующий код показывает полностью корректный *.dfs файл, и будет работать без ошибок:
Код

fastboot flash boot boot.img
fastboot flash system /home/zorg/files/system.img
adb push my.apk /sdcard
adb push /home/zorg/downloads/mynext.apk /sdcard

При этом boot.img и my.apk будут взяты из рабочей директории, а system.img и mynext.apk по абсолютным путям.

В дальнейшем планируется расширить функционал, например вот так можно будет загрузить файл и сразу его прошить:
Код
dfs download http://images.org/moto/boot.img
fastboot flash boot boot.img
[close]
Скриншоты:
Изображение Изображение
Изображение Изображение
[close]
Видео:

overview (старый билд) :http://cloud.z-lab.me/public.php?service=f...07&download
отправляем и принимаем файлы (старый билд) : file transfer.mov
прошивка recovery (старый билд) : http://files.z-lab.me/video/sample/DroidFl...coveryFlash.mov
работа в консоли (старый билд) : http://files.z-lab.me/video/sample/DroidFlasher_Console.mov
[close]
Список изменений:

r100:
- первая публичная сборка
r101:
- добавлен mfastboot
r102:
- добавлен *.DFS скриптинг и sideload
r103:
- добавлена работа с Recovery (openrecovery, twrp)
- flash zip
- backup
- restore
- wipe (cache/data/dalvik)
- дальше, больше...
r104:
- можно прошивать через recovery несколько *.zip за раз (пока без возможности сортировки)
- можно прошить zip из памяти телефона (нужно указать точный путь до файла)
- исправления и изменения UI
r105:
- Обновления интерфейса
- drag and drop для передачи файлов и запуска dfs
- много рефакторинга
- используются иконки: fatcow, fugue, small-n-flat
- используются шрифты: PT Sans, PT Sans Narrow
- изменения под капотом dfs
- добавлена команда download для dfs, пример:
Код
dfs download http://files.z-lab.me/mobile/Moto%20X/recovery/openrecovery-twrp-2.8.5.0-ghost.img
adb reboot bootloader
fastboot flash recovery openrecovery-twrp-2.8.5.0-ghost.img

r106:
- Обновления интерфейса
r107:
- добавлена новая команда -> dfs set workdir, работает только в simplemode и переопределяет автоматически (в фоновом режиме) создаваемую им рабочую директорию. Если simplemode выключен, то команда игнорируется.
- много рефакторинга
- значительная чистка проекта
- изменения в UI
r108:
- проверяет и уведомляет о наличии новой версии
- рефакторинг
- simple mode включен по-умолчанию, меньше диалогов, рабочие каталоги создаются автоматом (используйте: dfs set workdir, если нужно гарантировать ручной выбор рабочего каталога)
r109:
- добавлена новая комманда: dfs radiobox
- добавлена новая комманда: dfs show
[close]
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
Zorge.R   DroidFlasher   12.2.2015, 21:00
Zorge.R   Добавил в шапку версию для линукс http://files.z-l...   13.2.2015, 18:47
Zorge.R   r101: - добавлен mfastboot --- Mac: http://files.z...   14.2.2015, 15:51
Zorge.R   DFS в действий (откат moto x на сток, одна из мног...   14.2.2015, 23:56
Zorge.R   r103: - добавлена работа с Recovery (openrecovery,...   16.2.2015, 1:05
Zorge.R   r104: - можно прошивать через recovery несколько *...   17.2.2015, 2:50
Ant-ON   В бубунту работает, нексус видит. При попытке бека...   17.2.2015, 4:17
Zorge.R   Не хватает twrp (для команд на вкладке recovery), ...   17.2.2015, 6:57
Ant-ON   Да, былобы замечательно, особенно для *nix. Там ве...   17.2.2015, 7:09
Zorge.R   Могу запилить deb, но не каждый раз. Twrp нужен св...   17.2.2015, 7:14
Ant-ON   2.8.4 от января сего года openrecovery-twrp-2.8.4....   17.2.2015, 7:16
Zorge.R   Странно, должно работать, подходит 2.8.* и выше. В...   17.2.2015, 7:26
Zorge.R   В следующей версии добавлены новые функции DFS, да...   25.2.2015, 19:12
Zorge.R   У кого есть проблемы с запуском приложения?   28.2.2015, 19:54
ds2000   Zorge.R, я вообще скачать не могу, антивирус пише...   1.3.2015, 9:35
EXL   Ага, странно: https://www.virustotal.com/en/file...   1.3.2015, 10:14
Zorge.R   Ага, странно: https://www.virustotal.com/en/fil...   1.3.2015, 22:19
Zorge.R   Прошивка рекавери, без файла самого рекавери, по с...   3.3.2015, 18:56
Zorge.R   r105: --- Mac: DroidFlasher_r105_Mac.7z (43.6MB) -...   10.3.2015, 0:33
Zorge.R   Небольшие изменения в UI следующей версииСкриншоты...   10.3.2015, 10:11
Zorge.R   В r106 simple mode отключает выбор рабочей директо...   20.3.2015, 8:49
Zorge.R   r107: - добавлена новая команда -> dfs set work...   22.3.2015, 2:20
Zorge.R   r108: - проверяет и уведомляет о наличии новой вер...   22.3.2015, 18:29
Zorge.R   to-do list: - dfs sleep для паузы перед следующей...   23.3.2015, 13:33
Zorge.R   Выложил исходный код на github - https://github.co...   25.3.2015, 22:37
Zorge.R   Доступна новая версия, DroidFlasher r109 : Скачать...   26.3.2015, 22:13
Zorge.R   Новая версия доступна на github, следующий релиз б...   27.3.2015, 19:27
Zorge.R   r109.u4: - добавлена команда dfs sleep 5 (в секунд...   28.3.2015, 2:08
Zorge.R   в сборке r109 забыл включить библиотеку commons-io...   1.4.2015, 8:32
Zorge.R   r110 для Mac и Windows, Linux версия будет немного...   11.4.2015, 21:30

DroidFlasher, Работа с Android телефонами через Adb и Fastboot · Motorola на Android OS · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.4.2024, 15:17

Форум живёт: