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

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

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


Ветеран
Group Icon

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

Рейтинг: 2493



Изображение
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
сообщение 13.2.2015, 18:47


Ветеран
Group Icon

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

Рейтинг: 2493



Добавил в шапку версию для линукс http://files.z-lab.me/distr/DroidFlasher/D...her_r100_Nix.7z, на некоторых дистрах может не критично поплыть разметка из-за шрифтов, исправлю в следующих версиях.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 14.2.2015, 15:51


Ветеран
Group Icon

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

Рейтинг: 2493



r101:
- добавлен mfastboot
---
Mac: http://files.z-lab.me/distr/DroidFlasher/D...her_r101_Mac.7z
Win: на днях.
*nix: на днях.
---
Изображение
Изображение

Добавлено позже (14.2.2015, 22:48):
r102:
- добавлен *.DFS скриптинг и sideload
---
Версия будет доступна в течении нескольких дней.
---
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 14.2.2015, 23:56


Ветеран
Group Icon

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

Рейтинг: 2493



DFS в действий (откат moto x на сток, одна из многих возможностей DFS):
[video]http://www.youtube.com/watch?v=BkVdD_AVP58[/video]
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 16.2.2015, 1:05


Ветеран
Group Icon

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

Рейтинг: 2493



r103:
- добавлена работа с Recovery (openrecovery, twrp)
- flash zip
- backup
- restore
- wipe (cache/data/dalvik)
- дальше, больше...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 17.2.2015, 2:50


Ветеран
Group Icon

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

Рейтинг: 2493



r104:
- можно прошивать через recovery несколько *.zip за раз (пока без возможности сортировки)
- можно прошить zip из памяти телефона (нужно указать точный путь до файла)
- исправления и изменения UI
---
Mac: http://files.z-lab.me/distr/DroidFlasher/D...her_r104_Mac.7z
Win: http://files.z-lab.me/distr/DroidFlasher/D...her_r104_Win.7z
*nix: http://files.z-lab.me/distr/DroidFlasher/D...her_r104_Nix.7z
Изображение Изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ant-ON
сообщение 17.2.2015, 4:17


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 22.8.2005
Из: Екатеринбург
Пользователь №: 49 304
Модель телефона: N5 / Defy / VE66
Прошивка: CM12 / CM10 / PM2
Финалист Конкурса 2010

Рейтинг: 1790



В бубунту работает, нексус видит. При попытке бекапа
Код
exec: shell twrp backup SDCRB 2015.02.17_09-11-38
/system/bin/sh: twrp: not found

Видимо что-то надо доустановить. Хорошо, если бы программа по рекомендовала что именно.

Мелкие придирки:
- Если нажать на "push to device", затем отмена - вылезет окно, что операция отменена пользователем. Да она даже ещё не начиналась)
- Если нажать на "run *.dfs script", затем отмена. Окно появится снова.
ИМХО:
- От количество кнопочек разбегаются глаза. Может собрать всё как на вкладке Settings под спойлеры?
- Швейцарским ножом не назовёшь, так как размер приложения приличны. На чем написано, если не секрет? Я по началу думал, что QT...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 17.2.2015, 6:57


Ветеран
Group Icon

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

Рейтинг: 2493



Не хватает twrp (для команд на вкладке recovery), нужно сначала его поставить через вкладку fastboot, нужно уведомить, приложение пока не очень дружелюбное.
Модальные окна ещё из альфы, откладываю все на большой рефакторинг, после доделки функционала.
Исправлю, второе всплытие видимо просит задать рабочий каталог.
Можно попробовать, тут бы ui дизайнера, а то уже ничего неё понятно.
Оно весит не много, просто это bundle такой огромный, написан на java, поэтому там баластом идёт jdk. Позже можно просто сделать лоадер для всех платформ, который определит наличие нужной версии и попросит установить если что, само приложение весит около 2мб, плюс бинарники adb, fastboot, mfastboot под все платформы, если собрать только под одну, без jdk, будет около 5Мб.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ant-ON
сообщение 17.2.2015, 7:09


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 22.8.2005
Из: Екатеринбург
Пользователь №: 49 304
Модель телефона: N5 / Defy / VE66
Прошивка: CM12 / CM10 / PM2
Финалист Конкурса 2010

Рейтинг: 1790



Да, былобы замечательно, особенно для *nix. Там везде есть пакетные менеджеры. Все просто доставляется. Тот же eclipse не тащит за собой jdk...
Да, без jdk вполне вменяемый размер smile.gif

Рекавери у меня стоит twrp. А этот бинарник с чем идёт?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 17.2.2015, 7:14


Ветеран
Group Icon

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

Рейтинг: 2493



Могу запилить deb, но не каждый раз.
Twrp нужен свежий, какая у тебя версия?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DroidFlasher, Работа с Android телефонами через Adb и Fastboot · Motorola на OS Android · Forum
 

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

 



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

Форум живёт: