Android Script Creator : Flash package
О Flash package в Android Script Creator.
Flash package (*.ascfp) - это аналог стоковых прошивок, таких как *.sbf\xml которые прошиваются RSDLite (для Motorola) или FlashTool для MTK. Только Flash package это универсальные пакеты которые можно использовать для любого устройства и может содержать в себе любое содержимое (прошивка\части прошивок\рут и т.д.), все файлы Flash package проходят проверку контрольных сумм (md5).
В Android Script Creator можно создать Flash package для восстановления смартфона (с разными сценариями)\установка рекавери\установка суперпользвателя\и т.д. (все что захочет сделать разработчик Flash package с устройством).
Как работает Flash package - в Flash package помещается утилита которая выполняет какое-то действие (прошивка образа например), и сценарий\скрипт который она должна выполнить.
Например мы создаем Flash package в котором утилита прошивки это "moto-fastboot.exe", для нее сценарий выполнения будет выглядеть вот так:
----сценарий----
flash mbm "%workdir%allow-mbmloader-flashing-mbm.bin"
reboot-bootloader
flash mbmloader "%workdir%mbmloader.bin"
reboot-bootloader
flash mbm "%workdir%mbm.bin"
reboot-bootloader
erase cache
flash logo.bin "%workdir%logo.bin"
flash devtree "%workdir%device_tree.bin"
flash system "%workdir%system.img"
flash boot "%workdir%boot.img"
flash recovery "%workdir%recovery.img"
flash preinstall "%workdir%preinstall.img"
-w
flash radio "%workdir%radio.img"
reboot
----сценарий----
Как можно заменить скрипт является просто набором команд. Это основой принцип работы Flash package, в прочем как у любого стокового прошивальщика.
Преимущества перед стоковыми пакетами:
- Кастомизация (пользователь может создать любой пакет)
- Редактирование (эти пакеты можно легко отредактировать)
- Варианты выполнение скрипта (пользователь может выбрать какой сценарий необходимо выполнить)
Недостатки перед стоковыми пакетами:
- необходимо использовать только те утилиты которые могут работать в режиме командной строки.
- нет какого-то низкоуровневого доступа.
(в Flash package так-же как и в стоковом пакете есть проверка контрольных сумм)
Сценари:
По мимо команд которые будут переданы прошивальщику в сценарий можно добавить специфические команды, ниже представлен список команд:
- asc_debugoff - отключает отладочные сообщения программы.
- asc_debugon - включает отладочные сообщения программы.
- asc_adb - обращение к встроенному в программу ADB (например: 'asc_adb reboot-bootloader' в следствии чего смартфон перезагрузится в режим bootloader)
- asc_print - выводит текст в окно выполнения (например: 'asc_print * Try reboot device' в следствии чего в окне выполнения появится надпись ' * Try reboot device')
Так-же код скрипта можно комментировать, знаком '#'. Все что за знаком комментирования выполнятся\отображаться не будет.
Создатель Flash package может создать не ограничено количество скриптов в пакете, так-же можно использовать абсолютно любое имя.
Использование
- Функции "Открыть Flash package..."
- Выбрать файл *.ascfp
- Вам будет показано вот такое информационное сообщение:
- Краткая информация о пакете
- Варианты распаковки\отмена открытия
- После того как пакет будет открыт и контрольные суммы будут проверены, вы увидите следующий диалог:
- Путь к файлам пакета
- Краткая информация о пакете
- Статус проверки контрольных сумм. Если OK! - контрольные суммы всех файлов пакета проверенны, битых файлов нет. Если ERROR - в пакете есть битые файлы, перекачайте пакет.
- Выпадающий список в котором можно выбрать скрипт который необходимо выполнить.
- Открывает файл выбраного скрипта, его можно посмотреть\отредактировать. (если не разбираетесь, лучше даже не нажимать)
- Окно в котором отображается прогресс выполнения скрипта.
- Если поставить галочку, окно выполнения программы пакета, будет отображаться.
- После нажатия, программа начинает выполнения скрипта.
- Нажать "Прошить"
- Дождаться окончания выполнения скрипта
Примечание: каждую 1 минуту и 30 секунд выполнения команды, программа будет давать возможность пользователю, закрыть программу выполнения пакета.
Создание
- Функции "Создать Flash package"
- Перед вами откроется вот такой диалог:
- Исполняемый файл пакета. (например: moto-fastboot.exe)
- При нажатии на кнопку вам нужно будет выбрать файлы исполнительной программы. В список (п. 1) автоматические подставляется *.exe файл, если программа выбрала неправильный исполняемый файл, измените его на нужный.
- Удалить файлы исполнительной программы.
- Очистить все файлы пакета.
- Открыть пакет. Для редактирования.
- Добавить файлы в пакет. (например: файлы прошивки)
- Удалить файлы пакета.
- Если поставить галочку, программа автоматически будет добавлять строчку в скрипт. По стандарту добавляет 'flash "%workdir%< добавляемый файл >"'. (примечание: %workdir% - это переманенная, в место нее будет доставлен путь к файлу пакета)
- Выдающий список с скриптами. Вы работаете с тем скриптом который выбрали.
- Добавить скрипт.
- Удалить выбранный скрипт.
- Переименовать выбранный скрипт. (можно использовать имена с кириллицей и символами)
- Сохранить скрипт. (важно: если вы переключитесь на другой скрипт не сохранив пред идущий, потеряете внесенные изменения)
- Открыть папку с пакетом.
- Поле в котором вы редактируете выбранный скрипт.
- Описание пакета (краткое).
- Выбор папки\файла в для сохранения.
- Путь к файлу пакета.
- После нажатия на данную кнопку, пакет будет создан. (путь к файлу пакета программа берез поля в пункте 18)
- например создаем пакет установки прошивки для смартфона Motorola Razer (XT912)
- Жмем на "Select flash tool files" выбираем файлы утилиты прошивки. (в нашем случае это "moto-fastboot.exe")
- Ставим галочку на "Auto add script strings" (если собираете первый раз, лучше ставить)
- Жмем на "Select pack files" и выбираем файлы прошивки.
- В итоге у меня получился вот такой скрипт:
flash "%workdir%boot.img"
flash "%workdir%device_tree.bin"
flash "%workdir%logo.bin"
flash "%workdir%mbm.bin"
flash "%workdir%mbmloader.bin"
flash "%workdir%preinstall.img"
flash "%workdir%radio.img"
flash "%workdir%recovery.img"
flash "%workdir%system.img"
Работать он не будет, т.к. moto-fastboot.exe не достаточно простой команды flash и файла, ему нужно еще сообщить куда его зашить. Поэтому я его отредактировал вот так:
flash mbm "%workdir%allow-mbmloader-flashing-mbm.bin"
reboot-bootloader
flash mbmloader "%workdir%mbmloader.bin"
reboot-bootloader
flash mbm "%workdir%mbm.bin"
reboot-bootloader
erase cache
flash logo.bin "%workdir%logo.bin"
flash devtree "%workdir%device_tree.bin"
flash system "%workdir%system.img"
flash boot "%workdir%boot.img"
flash recovery "%workdir%recovery.img"
flash preinstall "%workdir%preinstall.img"
-w
flash radio "%workdir%radio.img"
reboot
Теперь он будет прошивать смартфон.
- После того как отредактировали скрипт как нужно, жмем "Save"
- (если нужно) Меняем имя скрипту нажав на "[ _ ]", например дадим ему имя "Restor".
- Добавим второй скрипт, который в процессе прошивки не будет очищать пользовательские данные. Жмем на "+", дадим ему имя "Restor No Wipe"
- Скопируем содержимое скрипта "Restor" только без команды '-w'. Скрипт "Restor No Wipe" должен иметь вот такое содержимое:
reboot-bootloader
flash mbmloader "%workdir%mbmloader.bin"
reboot-bootloader
flash mbm "%workdir%mbm.bin"
reboot-bootloader
erase cache
flash logo.bin "%workdir%logo.bin"
flash devtree "%workdir%device_tree.bin"
flash system "%workdir%system.img"
flash boot "%workdir%boot.img"
flash recovery "%workdir%recovery.img"
flash preinstall "%workdir%preinstall.img"
flash radio "%workdir%radio.img"
reboot
- Жмем "Save", что-бы сохранить "Restor No Wipe" скрипт.
- В поле "Description" добавим краткое описание. (например: Restor XT912)
- Жмем на "Browse" и выбираем куда нам сохранить файл пакета. (например: D:\restor.ascfp)
Вот пример того что у вас должно получится:
moto-fastboot.exe будет выполнять команды скрипта (вместо moto-fastboot.exe может быть любая другая консольная программа прошивки), в нашем пакете два скрипта Restor и Restor No Wipe пользователь будет выбирать какой скрипт программе выполнить.
- Жмем "Build!" для сборки пакета.
Все! пакет создан и готов к использованию! Если у пакета или его содержимого повредится целостность при передачи через интернет, Android Script Creator заметит єто и предупредить пользователя!
БОНУС: скрипт можно сделать несколько красивее, например вот так:
#Restore RAZER XT912
# try reboot device
asc_debugoff
asc_print * Try reboot device
asc_adb reboot-bootloader
asc_adb kill-server
asc_print * Flash device...
flash mbm "%workdir%allow-mbmloader-flashing-mbm.bin"
reboot-bootloader
flash mbmloader "%workdir%mbmloader.bin"
reboot-bootloader
flash mbm "%workdir%mbm.bin"
reboot-bootloader
asc_print * Clean cache...
erase cache
asc_print * Flash logo...
flash logo.bin "%workdir%logo.bin"
flash devtree "%workdir%device_tree.bin"
asc_print * Flash system...
flash system "%workdir%system.img"
asc_print * Flash boot...
flash boot "%workdir%boot.img"
asc_print * Flash recovery...
flash recovery "%workdir%recovery.img"
asc_print * Flash preinstall...
flash preinstall "%workdir%preinstall.img"
asc_print * Flash radio...
flash radio "%workdir%radio.img"
asc_print * Flash done!
asc_print * Reboot device!
reboot
# - это комментарии.
asc_debugoff - отключает вывод отладочных сообщений.
asc_print - отправит текстовое сообщение в окно выполнения скрипта.
строчка asc_adb reboot-bootloader попытается перезапустить смартфон в режим прошивки (команда asc_adb позволяет обращаться к ADB который есть в Android Script Creator).
Это все на функционально не повлияло, просто стало красивее и информативнее =)
*** Страница в стадии создания....




Комментарии
Отправить комментарий