Powered by Invision Power Board

  Reply to this topicStart new topicStart Poll

> Создание флешебельного архива(update.zip)
Dez64ru
Отправлено: Янв 8 2014, 22:30
Quote Post


Пользователь
**

Группа: Администраторы
Сообщений: 19
Из: г.Самара
Пользователь №: 2
Регистрация: 6-Января 14

Статус: Offline

Репутация: 1




Создание флешебельного архива

Он же update.zip

Инструменты:
  • Гугол
  • Архиватор
  • Notepad++
  • Руки
  • Мозги
Для начала нам нужно скачать шаблон.
Далее распаковываем архив в любое удобное для вас место.
И нам нужно наполнить данный архив, например создаём внутри папаки update папку system а в ней папку app и ложим любой апк файл туда.
Теперь нужно дать команду Рекавери для копирования папки system в телефон, для этого идём по пути update.zip/META-INF/com/google/android/update-binary и открываем файл с помощью Notepad++
и пишем такие строчки
Код

ui_print("> Mounting 'System' ");
ui_print(" ");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
ui_print("> Installing Core System Files");
package_extract_dir("system", "/system");
set_perm_recursive(0, 0, 0755, 0644, "/system");
ui_print("> System Installation Done");
unmount("/system");

Пояснения:
ui_print("> Mounting 'System' ");- Создаёт текстовое отображение
Код
> Mounting 'System'

ui_print(" "); - Создаёт пустую текстовую строчку
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system"); - Монтирование раздела "/system"
package_extract_dir("system", "/system"); - Извлечение из архива папки "/system" в дерикторию "system" на телефоне
set_perm_recursive(0, 0, 0755, 0644, "/system"); - Установка прав на всю папку "/system"
x x -
x - -
x - -
unmount("/system"); - Размонтирование раздела "/system"


Теперь полное описание команд
[Показать/Скрыть]

package_extract_dir
Синтаксис: package_extract_dir("<src-dir>", "<dst-dir>");
Копирует содержимое <src-dir> в <dst-dir>. Файлы в <dst-dir> имеющиеся в <src-dir> перезаписываются.
Пример: package_extract_dir("system", "/system"); Скопирует файлы из папки update.zip/system в /system

package_extract_file
Синтаксис: package_extract_file("<src-file>", "<dst-file>");
Копирует файл <src-file> в <dst-file>. Если файл <dst-file> существует, то он перезаписывается.
Пример: package_extract_file("test.sh", "/tmp/test.sh"); Скопирует файл test.sh из update.zip в /tmp/test.sh

format
Синтаксис: format("MTD", "<root>");
Форматирует раздел <root>(см. приложение).
Пример: format("MTD", "system"); Полностью отформатирует /system . Примечание: форматирование удаляет данные необратимо.

delete
Синтаксис: delete("<file1>"[, "file2", ..."fileN"]);
Удаляет файл(ы)
Пример: delete("/system/app/Calculator.apk"); Удалит Calculator.apk из папки system/app.

delete_recursive
Синтаксис: delete_recursive("<dir1>"[, "dir2", ..."dirN"]);
Рекурсивно удаляет папку(и) со всем содержимым
Пример: delete_recursive("/data/dalvik-cache"); Удалит папку /data/dalvik-cache со всем содержимым.

run_program
Синтаксис: run_program("<filetorun>"[, "<opt1>", "<opt2>", "<opt3>"]);
Запускает программу(скрипт) <filetorun>.
Пример: run_program("/tmp/install_busybox.sh"); Запустит скрипт /tmp/install_busybox.sh.

set_perm
Синтаксис: set_perm(<uid>, <gid>, <mode>, "<pathtofile>"[, ... "pathtofileN"]);
Устанавливает владельца, группу и разрешения для файла или папки, как ‘chmod’, ‘chown’, и ‘chgrp’ всё в одном
Пример: set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh"); Установит владельца, группу и разрешения для файла /system/etc/init.goldfish.sh

set_perm_recursive
Синтаксис: set_perm_recursive(<uid>, <gid>, <dir-mode>, <file-mode>, "<path>"[, ... "<pathN>"])
Рекурсивно устанавливает владельца, группу и разрешения для содержимого папки. <dir-mode> - для папок, <file-mode> - для файлов.
Пример: set_perm_recursive(0, 0, 0755, 0644, "/system/app"); Установит права для содержимого /system/app, для папок - 0755, для файлов - 0644.

show_progress
Синтаксис: show_progress(<fraction>, <duration>);
Продвижение прогрессбара на долю <fraction> за <duration> секунд. <duration> может быть нулевым для продвижения его по командe set_progress, а не по времени.
Пример: show_progress(0.100000, 1) Увеличит прогресс на 0.1 часть за 1 секунду

set_progress
Синтаксис: set_progress(<fraction>);
Устанавливает положение прогрессбара на долю <fraction>, для самого последнего вызова команды show_progress.
Пример: set_progress(0.500000)

symlink
Синтаксис: symlink("<link-target>", "<link-path1"[, "<link-path2>", "<link-path3>"]);
Создает символическую ссылку (как ‘ln-s’). <link-path> пишется в формате root:path, а <link-target> в формате целевой файловой системы (и может быть относительным)
Пример: symlink("/data/app_s", "/system/app"); Создаст символическую ссылку на папку /data/app_s для папки /system/app

mount
Синтаксис: mount("<kind>", "<what>", "<path>");
Монтирует <what> в путь <path>. <what> должно быть название раздела, если <kind> это "MTD", или блок памяти если <kind> это "vfat"
Пример: mount("MTD", "userdata", "/data");

unmount
Синтаксис: unmount("<path>");
Отключает <path>.
Пример: unmount("/data");

ui_print
Синтаксис: ui_print("<message>");
Выводит на экран сообщение <message>
Пример: ui_print("Formatting SYSTEM...");


--------------------
Ехал сырно через сырно
Видит сырно сырно сырно
Сунул сырно сырно в сырно
Сырно сырно сырно сырно
user posted image

Samsung E250>SE K610i>LG Gt540>ZTE v807
PMEmail PosterUsers WebsiteICQ
Top
_DH_
Отправлено: Янв 9 2014, 01:09
Quote Post


Активный пользователь
***

Группа: Пользователи
Сообщений: 71
Пользователь №: 14
Регистрация: 8-Января 14

Статус: Offline

Репутация: 1




А подписывать архив не нужно? На форумах по Ainol Novo 7 Mars, к примеру, я привык к тому, что все архивы с обновлениями нужно было подписывать, иначе рекавери отказывался их устанавливать.
PMEmail Poster
Top
Dez64ru
Отправлено: Янв 10 2014, 14:43
Quote Post


Пользователь
**

Группа: Администраторы
Сообщений: 19
Из: г.Самара
Пользователь №: 2
Регистрация: 6-Января 14

Статус: Offline

Репутация: 1




Цитата (_DH_ @ Янв 9 2014, 01:09)
А подписывать архив не нужно? На форумах по Ainol Novo 7 Mars, к примеру, я привык к тому, что все архивы с обновлениями нужно было подписывать, иначе рекавери отказывался их устанавливать.

Никогда не подписывал.


--------------------
Ехал сырно через сырно
Видит сырно сырно сырно
Сунул сырно сырно в сырно
Сырно сырно сырно сырно
user posted image

Samsung E250>SE K610i>LG Gt540>ZTE v807
PMEmail PosterUsers WebsiteICQ
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Reply to this topicStart new topicStart Poll

 


Текстовая версия