motofan logo
3 страниц V < 1 2 3        
> 

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

Zorge.R
сообщение 12.2.2015, 21:00 Закрепленное сообщение!


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 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
сообщение 20.3.2015, 8:49


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



В r106 simple mode отключает выбор рабочей директории для dfs, будет исправлено в следующей версии.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 22.3.2015, 2:20


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



r107:
- добавлена новая команда -> dfs set workdir, работает только в simplemode и переопределяет автоматически (в фоновом режиме) создаваемую им рабочую директорию. Если simplemode выключен, то команда игнорируется.
- много рефакторинга
- значительная чистка проекта
- изменения в UI
---
Скачать:
---
Mac: DroidFlasher_r107_Mac.7z (43.6MB) - md5sum: 185b9c708f6aded9b4867bca5e8d7f23
Win: DroidFlasher_r107_Win.7z (39.9MB) - md5sum: ca0cf89e54b5aed65f8639f502611fc4
*nix: DroidFlasher_r107_Nix.7z (51.3MB) - md5sum: 9b27914d6daabd9afae959fa07e51c49
Зеркало:
Mac: DroidFlasher_r107_Mac.7z (43.6MB) - md5sum: 185b9c708f6aded9b4867bca5e8d7f23
Win: DroidFlasher_r107_Win.7z (39.9MB) - md5sum: ca0cf89e54b5aed65f8639f502611fc4
*nix: DroidFlasher_r107_Nix.7z (51.3MB) - md5sum: 9b27914d6daabd9afae959fa07e51c49
[close]

---
Скриншоты:
Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение
---
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 22.3.2015, 18:29


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



r108:
- проверяет и уведомляет о наличии новой версии
- рефакторинг
- simple mode включен по-умолчанию, меньше диалогов, рабочие каталоги создаются автоматом (используйте: dfs set workdir, если нужно гарантировать ручной выбор рабочего каталога)
---
Скачать:
---
Mac: DroidFlasher_r108_Mac.7z (43.6MB) - md5sum: 41238d9181d68497d9aa6c8a282d7c31
Win: DroidFlasher_r108_Win.7z (39.9MB) - md5sum: ddaa96c60c8b488e8063e8065192d89b
*nix: DroidFlasher_r108_Nix.7z (51.3MB) - md5sum: c757a06310ff8afe2b1213847e9703b4
---
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 23.3.2015, 13:33


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



to-do list:

- dfs sleep для паузы перед следующей командой
- dfs message для интерактивного взаимодействия с пользователем, например предупредить что все данные будут удалены и предложить продолжить или отказаться.
- dfs unzip для распаковки скачанных файлов, например при установке стоковых многофайловых прошивок, будет полезно, особо актуально для nexus и motorola.
- dfs checkbox интерактивный выбор нескольких пунктов пользователем, например вайп разных радзелов.
- dfs radiobox интерактивный радиобокс, например для выбора "какое рекавери прошить".
- двупанельный файловый менеджер, локальная и удаленная панели.

Так же буду благодарен примерам реализованных скриптов, ну и помощи в популяризации приложения, если вы сделали скрипт для автоматизации какого либо процесса на вашей модели телефона, поделитесь этой находкой в теме вашей модели, т.к. для быстрого и качественного развития, нужен фидбек, отзывов пока очень мало, сложно понять в каком направлении лучше двигаться.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 25.3.2015, 22:37


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



Выложил исходный код на github - https://github.com/ZorgeR/DroidFlasher
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 26.3.2015, 22:13


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



Доступна новая версия, 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
---
- добавлена команда: dfs radiobox
- добавлена команда: dfs show
Примеры новых команд:
Код
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

Изображение Изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 27.3.2015, 19:27


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



Новая версия доступна на github, следующий релиз будет выложен на сборке r110.

r109.u3:
- добавлен диалог выхода из скрипта:
dfs show exit title header content
Если в нем нажать CANCEL, все дальнейшие операции в очереди dfs будут прерваны, если OK, то работа продолжится.
- изменения в подстановках, вставьте этот код в скрипт dfs, и он будет автоматически заменен при исполнении:
%RADIOBOX_RESULT% = Текстовое значение последнего radiobox
%SHOW_RESULT% = boolean значение последнего диалога "dfs show TYPE"
%DEVICE% = кодовое имя подключенного устройства, например ghost для Moto X
%DEVICE_MODEL% = модель подключенного устройства, например XT1052 для некоторых Moto X
Подстановку можно использовать в любом месте скрипта dfs, загрузка, прошивка, диалоги, radiobox, абсолютно в любом месте.

Пример скрипта с использование радиокнопок и диалога полной остановки:
Код

dfs show exit "ПРОШИВКА" "ВНИМАНИЕ" "Если нажать OK, раздел recovery на вашем устройстве %DEVICE_MODEL% - %DEVICE% будет перезаписан! Продолжить?"
dfs radiobox "TWRP|CWM Recovery|Phiz Touch Recovery" "http://f.me/%DEVICE%/twrp/recovery.img|http://f.me/%DEVICE%/phiz/recovery.img|http://f.me/%DEVICE%/cwm/recovery.img" "ПРОШИВКА" "Внимание" "Выберите recovery:"
dfs download %RADIOBOXRESULT%
fastboot flash recovery recovery.img

В строках со ссылками на загрузку, подстановка будет заменена автоматом на имя текущего устройства, т.е. из этого:
http://f.me/%DEVICE%/twrp/recovery.img
получится это
http://f.me/ghost/twrp/recovery.img

p.s.: не писал об этом ранее, но с одной из предыдущих версий можно использовать в коде комментарии, строка должна начинаться с символа #, тогда она будет полностью пропущена.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 28.3.2015, 2:08


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



r109.u4:
- добавлена команда dfs sleep 5 (в секундах)
- добавлена подстановка %RADIOBOX_RESULT_FILENAME%

Пример dfs по продвинутой прошивке recovery, с диалоговыми окнами на русском:
Код
dfs show exit "Прошивка Recovery" "Внимание!" "Если вы нажмете ОК, раздел recovery вашего телефона %DEVICE_MODEL% - %DEVICE% будет перезаписан!"
dfs radiobox "TWRP 2.8.6.0|Philz Touch Recovery 6.58.7" "http://files.z-lab.me/mobile/devices/%DEVICE%/twrp-2.8.6.0-%DEVICE%.img|http://files.z-lab.me/mobile/devices/%DEVICE%/philz_touch_6.58.7-%DEVICE%.img" "Прошивка Recovery" "Важно!" "Выберите recovery:"
dfs download %RADIOBOX_RESULT%
adb reboot bootloader
dfs sleep 1
fastboot flash recovery %RADIOBOX_RESULT_FILENAME%
dfs sleep 2
dfs radiobox "Перезагрузить в систему|Перезагрузить bootloader" "reboot|reboot-bootloader" "Прошивка Recovery" "Что дальше?" "Выберите:"
fastboot %RADIOBOX_RESULT%


Видео, как все это выглядит живьем:
[video]http://www.youtube.com/watch?v=_RdP8wLeC2I[/video]
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 1.4.2015, 8:32


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



в сборке r109 забыл включить библиотеку commons-io, из-за чего dfs не выполняется, исправлено в более свежих сборках, будут опубликованы на днях.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 11.4.2015, 21:30


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800

Рейтинг: 2510



r110 для Mac и Windows, Linux версия будет немного позже:
http://files.z-lab.me/distr/DroidFlasher/D...her_r110_Mac.7z
http://files.z-lab.me/distr/DroidFlasher/D...her_r110_Win.7z

r110:
- refactoring
- small optimization
- added new command:
dfs log "Message to the log"
- download progress will be printed to the log
- check if device is unauthorized
- fix new line
- fix new line 2
- fix new line 3
- fix new line 4
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DroidFlasher, Работа с Android телефонами через Adb и Fastboot · Motorola на Android OS · Forum
 

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

 



Текстовая версия Сейчас: 29.3.2024, 6:21

Форум живёт: