System new dat розпакування та запакування. Кастомний Android: робимо свою прошивку з — стокове без копаючись у вихідниках. Складання образу system типу yaffs

Головна / Google Play

Почнемо з того, що тобі потрібний Linux. У Windows ти зможеш лише розібрати прошивку, але зібрати назад вже не вийде з чисто технічних причин. Тепер про прошивку. Зазвичай вони поширюються у вигляді ZIP-архівів, що прошиваються через кастомні рекавері. Саме один із них нам і знадобиться для дослідів. Починати шлях ромоделі я рекомендую з якоїсь максимально наближеної до AOSP кастомної прошивки, тому що в ній найчастіше простіше розібратися, ніж у стоку.

  1. Розпаковуємо архів з прошивкою в будь-яку папку.
  2. Качаємо скрипт за посиланням і розархівуємо в будь-яку папку.
  3. Запускаємо файл ext (якщо лаятиметься на відсутність Java, просто пропусти, натиснувши y ; Java потрібна тільки для запакування).
  4. Тепер вибираємо розпакування, натиснувши кнопку 1, а потім Enter.
  5. Нова папка з ім'ям extract_* з'явиться поруч із файлом ext та папкою tools . Копіюємо в неї файли system.new.dat і system.transfer.list.
  6. Після копіювання файлів натискаємо Enter та чекаємо. Через деякий час потрібно знову натиснути Enter, ввести пароль адміністратора і ще раз тапнути Enter.
  7. Готово. Вміст системи в папці extract_*/output .

Ручний спосіб

Розпаковуємо архів з прошивкою в будь-яку папку (наприклад, в rom):

$ mkdir ~/rom $ unzip шлях_до_архіву -d ~/rom/

Завантажуємо потрібні нам інструменти до цієї папки:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

Запускаємо скрипт:

$chmod +x sdat2img.py $./sdat2img.py system.transfer.list system.new.dat system.img

Він перетворює файл system.new.dat на raw-образ з ім'ям system.img . Монтуємо образ до підпапки mnt:

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt

Структура каталогів Android

Після розпакування системи з'явиться наступна каталогова структура:

  • app- встановлені програми зі стандартними привілеями;
  • priv-app- встановлені програми з підвищеними привілеями, у тому числі деякі компоненти системи;
  • bin- бінарні файли формату ELF, аналог каталогів /bin та /usr/bin у Linux. Містить різні системні компоненти, які використовуються більш високорівневими компонентами системи;
  • etc- Файли налаштувань. Повний аналог /etc в Linux, який використовується, проте, тими самими системними компонентами. Програми Android зберігають індивідуальні налаштування в каталогах /data/data/;
  • fonts- Шрифти. За замовчуванням містить лише фірмові шрифти Roboto;
  • framework- бібліотеки Java-класів, що використовуються системою та додатками. Тут лежить файл framework-res.apk , що містить повний опис інтерфейсу операційної системи, включаючи всі графічні файли;
  • libі lib64- Linux-бібліотеки, які використовуються низькорівневими компонентами системи. Аналог каталогів /lib та /usr/lib у Linux, включаючи такі стандартні бібліотеки, як libc, libz, libssl. На пристроях з архітектурою ARMv7 та нижче каталог lib64 буде відсутній;
  • media- медіафайли: рингтони, звуки повідомлень, звуки інтерфейсу та анімація завантаження ОС;
  • tts- файли, необхідні синтезатору мови;
  • usr- каталог, який зазвичай містить файли, необхідних роботи додатків з каталогу bin. По суті, аналог /usr/share;
  • vendor- файли, що постачаються виробником пристрою. Зазвичай містить бінарний firmware для різних металевих компонентів, наприклад модуля Wi-Fi;
  • xbin- Необов'язковий каталог; кастомні прошивки використовують його для зберігання таких речей, як інтерпретатор bash, SSH, PowerTOP, BusyBox та інших корисних інструментів;
  • build.prop- Файл, що містить інформацію про складання, а також різні низькорівневі налаштування;
  • addon.d- Містить скрипти, що запускаються після установки прошивки. Сюди ж GApps прописують свій скрипт, завдяки якому відроджуються після переустановки прошивки.

Ознайомившись із базовою структурою Android, почнемо вносити зміни.

Видаляємо та додаємо програми

Усі встановлені програми можна знайти у двох папках:

  • /system/app/;
  • /system/priv-app/.

Один від одного вони відрізняються привілеями доступу. Якщо програми з app мають такі ж повноваження, як сторонні програми (наприклад, встановлені з Play Store), програми з priv-app можуть використовувати привілейовані API (права privileged). Докладніше про це можна дізнатися з .

Для установки програми в прошивку просто кинь її APK-файл в /system/app/ . Можна, звичайно, створити окрему папку, але в нашому випадку в цьому немає сенсу, тому що папка служить для зберігання бібліотек та odex-файлів, яких у нас просто немає. Для видалення просто видалили папку з ним.

Можна піти далі та поміняти стокові програми на аналоги. Наприклад, для заміни календаря видаляємо папку Calendarі копіюємо в /system/app наш улюблений com.rpagyc.simplecalendar.apk. А можна й не копіювати. Тоді прошивка буде без календаря.

Головне, пам'ятай: стокові програми можуть бути пов'язані між собою. Тому видалення однієї проги цілком може призвести до повної непрацездатності іншої (наприклад, CalendarProvider і Calendar: видаливши перший, ти зробиш непрацездатним не тільки стрійний, але й будь-який інший календар). На щастя, у чистих AOSP-прошивках взаємозв'язків не так багато.

Змінюємо анімацію завантаження

Анімація зберігається у вигляді PNG-картинок, запакованих у архів /system/media/bootanimation.zip без стиснення. Усередині архіву знаходяться:

  • desc.txt- Файл, що описує анімацію;
  • part0- папка із файлами анімацій, які відтворюються першими;
  • part1- папка з анімаційними файлами, які відтворюються іншими;
  • part?- крайня папка, зображення з якою відтворюються наприкінці.

Файл desc.txt може містити щось на зразок

1920 1080 60 p 1 0 part0 p 0 0 part1

Призначення цих рядків інтуїтивно зрозуміло: 1920 × 1080 – роздільна здатність картинки, 60 – число кадрів на секунду. Part0 і part1 вказують на папки, з яких відтворюватиметься анімація, та послідовність відтворення. Взагалі може бути як одна частина, так і кілька (три і більше).

Зображення, що знаходяться в папках part, пронумеровані п'ятьма цифрами в порядку відтворення: 00000.png, 00001.png, 00002.png … Ці зображення можна поміняти на свої, створивши тим самим оригінальну анімацію. А можна просто видалити файл bootanimation.zip. Тоді девайс показуватиме анімацію зі стандартного Android. Або скористатися вже готовою колекцією анімацій на 4PDA.

Змінюємо звукове оформлення

Фактично всі звуки, які відтворює система, зберігаються у папці /system/media/audio . Усередині неї ти знайдеш такі папки:

  • alarms- мелодії будильника;
  • notifications- Звуки повідомлень;
  • ringtones- мелодії дзвінка;
  • ui- системні звуки, наприклад, низький заряд батареї, фокусування камери, вибір елементів інтерфейсу.

У alarms, notifications, ringtones можна накидати скільки завгодно будь-яких мелодій. Взяти їх можна, наприклад, тут:

  • стандартні мелодії з різних телефонів та смартфонів Nokia;

І маленький лайфхак: видалення файлів із папки ui призведе не до збоїв та помилок, а до зникнення системних звуків. Тому ти можеш легко відключити звук створення знімка з камери, зняття скріншота, просто втративши файли, що містять ці звуки (їх імена інтуїтивно зрозумілі).

Додаємо шрифти

Шрифти зберігаються у fonts. Знайти архіви з файлами шрифтів можна на 4PDA та XDA. Для встановлення достатньо скопіювати із заміною ttf-файли з архіву в папку fonts .

Змінюємо системні налаштування (build.prop)

В образі system є цікавий файлик build.prop, що містить безліч корисної інформації про залізо пристрою та налаштування, що встановлюються за умовчанням, для різних стокових додатків. Заради справедливості зауважу, що це не завжди так. Наприклад, Gigaset ME і ME Pro build.prop розділений на дві частини. В одній частині містяться налаштування Gigaset ME, а для ME Pro деякі рядки продубльовані, але ключі (назва смартфона і так далі) в них інші. Це було зроблено, щоб забезпечити більш-менш коректну працездатність однієї і тієї ж прошивки на різних апаратах.


Build.prop містить (або може містити) величезну кількість налаштувань. Деякі з них нічого не змінюють, деякі покращують одне за рахунок погіршення іншого, але є ті, які справді корисні:

  • ro.product.modelі ro.product.manufacturer- модель смартфона та ім'я виробника. За допомогою заміни цих рядків можна змусити Play Store думати, ніби ти маєш інший смартфон, що відкриє доступ до більшої кількості софту. Для будь-яких маловідомих китайських смартфонів ці рядки можуть стати рятівними;
  • hw.qemu.mainkeys- приймає лише два значення: 0 - показати на екрані навігаційні клавіші, 1 - не показувати кнопки. Відсутність рядка відповідає 0;
  • debug.sf.nobootanimation- значення 1 відключає анімацію завантаження, що трохи піднімає швидкість. Встановлення 0 або видалення рядка повертає анімацію на місце;
  • ro.telephony.default_network- каже системі, в який режим має бути переключена мобільна мережа під час завантаження;
  • ro.sf.lcd_density- DPI дисплея, найбільш точне значення для дисплея можна порахувати через зручний сайт. Але ніхто не забороняє поставити і більше або менше значення на свій смак: вищі значення роблять елементи інтерфейсу більшими, низькі - менше;
  • ro.config.vc_call_vol_steps- кількість кроків гучності під час розмови (за замовчуванням 8);
  • ro.config.media_vol_steps- кількість кроків гучності мультимедіа (за промовчанням 15).

Впроваджуємо у прошивку Google Apps

У більшості випадків кастомні прошивки поставляються без сервісів Google і магазину програм. Розробники пропонують нам встановити їх окремо за допомогою GApps. Однак його можна інтегрувати прямо у прошивку.

Для початку потрібно завантажити пакет GApps. Я рекомендую брати архіви Open GApps. Вибираєш версію Android, архітектуру процесора та варіант комплектації (Pico, Nano, Stock…), який визначає, скільки різних програм Google містить архів. Я рекомендую завантажити версію Pico. Вона містить лише Play Store та набір необхідних для його роботи бібліотек.

Інтеграція GApps у прошивку виконується так:

  1. Розпаковуємо ZIP-архів GApps за допомогою будь-якого архіватора.
  2. Переходимо до папки Core.
  3. Бачимо безліч архівів з розширенням tar.lz. Вилучаємо за допомогою lzip.
  4. Після розпакування копіюємо файли з папок до відповідних папок у system. Що куди кидати, неважко здогадатися структурою каталогів в архіві. Наприклад, configupdater (зі скріншота) потрібно кидати в папку priv-app.
  5. Переходимо в папку GApps (перебуває поруч із Core) і робимо пункти 3 і 4 для файлів у ній.
  6. Все, ми інтегрували GApps до нашої прошивки!

Вільне місце

Необхідно розуміти, що місце для встановлення прошивок обмежене. Не можна встановити прошивку, розмір якої переважує розмір розділу системи пристрою. Подивитися його значення можна, використовуючи:

$ adb shell df /system

Другий варіант: поставити на пристрій термінал та набрати команду

$df /system

Розмір розділу в байтах можна дізнатися, встановивши на смартфон BusyBox та виконавши у терміналі команду

$ busybox df -B 1 /system

Або те саме за допомогою ADB:

$ adb shell busybox df -B 1 /system

Місце, займане прошивкою, буде приблизно дорівнює розміру системи в розпакованому вигляді. Взагалі, під час створення прошивки потрібно враховувати, що користувач також може прошити поверх неї різні модифікації (SuperSU, Xposed) чи перенести докладання у розділ system. Наприклад, мінімальний пакет програм Google (Pico) вимагає щонайменше 150 Мбайт додаткового простору для встановлення.

При необхідності розмір файлу прошивки можна зменшити, видаляючи не тільки непотрібні програми з /system/app (/system/priv-app) та звуки виклику з system/media/audio і bootanimation.zip , але й:

  • /system/tts/lang_pico- мови примітивного голосового движка Pico TTS, голосовий движок Google це не торкнеться;
  • /system/usr/srec/config/- офлайн-мови. Можна буде скачати онлайн, якщо знадобиться.

Складання

Після внесення змін слід зібрати все назад. Спочатку запакуємо розділ system в system.new.dat. Завантажуємо потрібні нам інструменти:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github. com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/ master/sparse_img.py $ sudo apt-get install android-tools-fsutils

Перетворюємо нашу папку назад на RAW-образ. Назвемо його system_new.img:

$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/

1073741824 змінюємо розмір розділу system в байтах. Бажано навіть зробити його трохи меншим. Робимо з RAW-образу sparse-образ:

$ img2simg system_new.img system_snew.img

Перетворимо наш образ на system.transfer.list і system.new.dat , які потрібно кидати в архів з прошивкою, але спочатку видалимо старі файли:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img

Відокремимо файли прошивки від зайвого лушпиння (файлів, які ми завантажували для роботи. Для цього зручно користуватися архівом з прошивкою). Видалили? Тепер потрібно запакувати прошивку в ZIP-архів (будь-яким архіватором).

Залишилось підписати архів. Зробити це можна як на самому Android за допомогою ZipSigner, так і на ПК (потрібна встановлена ​​Java):

$wget https://github.com/appium/sign/raw/master/dist/sign.jar $java -jar файл.zip

Підводні камені

Під час збирання system.new.dat ти можеш зіткнутися з кількома проблемами, викликаними постійними змінами в механізмах формування прошивок Android. Описаний вище спосіб повинен добре спрацювати у разі заснованої на Android 5.1 прошивки, у новіших можуть виникнути складності, так що потрібно використовувати інші версії інструментів складання. На жаль, ми не можемо описати всі нюанси складання, тому, можливо, доведеться погуглити.

Встановлення

Для встановлення кастомної прошивки необхідний кастомний рекавер TWRP, що дозволяє встановлювати непідписані або підписані тестовим ключем прошивки (саме таку ми створили). У журналі ми неодноразово описували процес його встановлення, та й у гілках форуму, присвячених твоєму пристрою, зазвичай є достатньо інформації для того, щоб це зробити.

TWRP

Висновки

Ця стаття визначає лише верхівку великого айсберга під назвою «модифікація прошивок». «Серйозні» прошивки не тільки доповнюють ядро ​​і саму прошивку зі стоковими додатками безліччю функцій (які найчастіше вирвані з інших ядер та прошивок), організовуючи або навіть змінюючи принципи їхньої взаємодії, а й можуть кардинально змінювати принципи роботи ОС. Правда, така виріб - це вже не Android, а окрема ОС, навіть якщо Play-сервіси вдасться туди поставити (до речі, такі дії, м'яко кажучи, не заохочуються Google). Ну і не забуваємо: всі оболонки від виробників - TouchWiz, ZenUI, HTC Sense і так далі - лише звичайні кастоми, максимально прив'язані до заліза пристрою і один до одного.

MTwinTools – це утиліта, що дозволяє працювати з файлами прошивок та образами boot.img, recovery.img та system.img. Автор утиліти є vin2809 з форуму 4pda. MTwinTool нагоді власникам смартфонів Huawei на базі процесорів MTK.

Посібник користувача по роботі із засобом MTwinTools

1. Введення.

1.1. Призначення.

Засіб MTwinTools призначений для розбирання/складання образів пристроїв на основі чипів MT.

Воно побудовано для використання в командному рядку за мотивами засобу RKwinTools, призначеного для роботи з пристроями на чіпах RK29xx-RK31xx, та деяких програм, що вільно розповсюджуються.

Працює тільки під Windows 7 і вище без встановлення CYGWIN, а також не вимагає жодних додаткових прописок шляхів у змінних середовищах ОС.

Засіб дозволяє:

  • розпакувати та запакувати образ Boot.img;
  • розпакувати та запакувати образ Recovery.img;
  • розпакувати та запакувати образ Kernel.img;
  • розпакувати та запакувати образ System.img, як yaffs типу, так і ext2-ext4;
  • конвертувати розріджений файл типу sparse у образ типу ext4;
  • підрахувати контрольну суму файлу форматі md5;
  • ініціювати SuperUser.

1.2. Інсталяція засобу MTwinTools.
Інсталяція засобу здійснюється шляхом розпакування архіву в будь-якому зручному для Вас місці. При цьому буде створено папку MTwinTools, яка містить:

  • папки _In/, App/ та Cygwin/;
  • а також файли Readme.txt та menu.bat.

Папка _In є порожньою і призначена для розміщення вихідних образів для обробки. Папка App/ містить набір командних файлів для обробки образів. У папці Cygwin/ знаходяться службові бібліотеки та файли, що вільно розповсюджуються. Файл Readme.txt містить вказівку користувача, тобто. читаний Вами зараз текст. Файл menu.bat служить для створення меню засобу MTwinTools.

УВАГА. Ніякого прописування шляхів доступу до службових файлів у змінних середовищах ОС Windows НЕ ПОТРІБНО.

Під час роботи з'являться й інші необхідні папки:

  • Pack, в якій будуть знаходитися файли Boot, Recovery та System після
    запаковки, папка md5, що містить файли з контрольною сумою, а також папка
    Firmware, у підпапці Image якої будуть знаходитись зібрані файли Boot,
    Recovery та System;
  • Unpack, в якій ПОВНІСТТЮ розпаковані файли Boot, Recovery та System
    будуть знаходитись у папці Firmware, у підпапці Image.

1.3. Деінсталяція засобу MTwinTools.

Деінсталяція засобу здійснюється шляхом видалення кореневої папки засобу, тобто. папки MTwinTools.

2. Основні правила роботи.

2.1.Для початку роботи необхідно запустити файл menu.bat, при цьому запуститься меню засобу.

2.2.Образи, призначені для розпакування, необхідно покласти в папку _In засобу. Імена вхідних файлів ОБОВ'ЯЗКОВО повинні містити ключові слова і можуть мати такі назви:

  • *boot*.img;
  • *recovery*.img;
  • *kernel*.img;
  • *system*.img.

2.3.При першому запуску виконайте ініціалізацію засобу. При ініціалізації засобу ВСІ файли, розташовані в _In папці, будуть скопійовані в робочу вхідну папку Unpack/Firmware/Image. Це зроблено, щоб зберегти вихідні файли.

2.4.Після розбирання образу його вміст буде поміщено в папку Unpack, в якій буде створено таку структуру папок:

Boot(Recovery)/cfg/
kernel/
ramdisk/

У папці cfg/ будуть знаходитись налаштування образу, у папці kernel Ви знайдете ядро, тобто. бінарний файл zImage, а в папці ramdisk буде все інше. На виконання складання образу його складові, тобто. ramdisk, ядро, а, можливо, і налаштування, помістіть у відповідні папки в Unpack. Створений образ перебуватиме у вихідній папці Pack.

3. Опис засобу.

3.1. Головне меню команд.

Головне меню команд засобу має такий вигляд:

**************************
* MTwinTools_V_0.6 *
**************************
* Image commands: *
* ————— *
* 1-Boot *
* 2-Recovery *
* 3-Kernel *
*4-System*
* 5-Other commands *
* *
**************************
* Tools commands: *
* ————— *
* 6-Init Tools *
* 7-Clean *
* *
**************************
* 8-Exit *
**************************
Please, choose command:

Вибір команди здійснюється шляхом введення номера, вказаного перед нею. У поточній версії Ви можете виконати такі дії:

- Перейти до меню обробки образу Boot, набравши цифру "1";
- Перейти до меню обробки образу Recovery - "2";
- Перейти до меню обробки образу Kernel - "3";
- Перейти до меню обробки образу System - "4";
- Перейти до меню інших команд - "5";
- Провести ініціалізацію робочої області кошти - «6»;
- Провести очищення робочої області засобу - «7»;
- Завершити роботу, тобто. вийти із засобу – «8».

3.2. Меню Boot.

Щоб перейти до обробки образу Boot, виконайте команду «1-Boot». При цьому ви перейдете в меню Boot commands.

Меню обробки образів Boot має такий вигляд:

**************************
* Boot commands: *
* ————— *
* 1-Boot unpack *
* 2-Boot pack *
* *
**************************
* 3-Return *
**************************
Please, choose command:

За командою "1" проводиться розпакування образів Boot, за командою "2" проводиться запакування образів Boot. За командою «3» здійснюється повернення головне меню кошти.

2.2.1. Розбирає образ boot.img.

2.2.2. Складання образа boot.img.

Під час збирання образу boot з'явиться меню вибору джерела даних.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

Ви маєте можливість зібрати образ із розпакованого образу, розташованого в папці Unpack/Boot, для цього вибирайте пункт меню «1. Unpack dir». Якщо вибрати пункт меню “2. Pack dir», то образ буде створено з даних, розміщених у папці Pack/boot. Щоб відмовитися від операції, виберіть пункт меню «3. Return». При цьому Ви
поверніться до меню Boot commands.

3.3. Меню Recovery.

Щоб перейти до обробки образу Recovery, виконайте команду «2-Recovery». Перейдіть до меню «Recovery commands». Меню обробки образів Recovery має такий вигляд:

**************************
* Recovery commands: *
* —————— *
* 1-Recovery unpack *
* 2-Recovery pack *
* *
**************************
* 3-Return *
**************************
Please, choose command:

За командою "1" проводиться розпакування образів Recovery, за командою "2" проводиться запакування образів Recovery. За командою «3» здійснюється повернення головне меню кошти.
2.3.1. Розбирає образ recovery.img.

Усі дії виконуються автоматично, тобто. без Вашої участі та описувати тут нічого.

2.3.2. Складання образу recovery.img.

Під час збирання образу recovery з'явиться меню вибору джерела даних.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

Ви маєте можливість зібрати образ із розпакованого образу, розташованого в папці Unpack/recovery, для цього вибирайте пункт меню «1. Unpack dir». Якщо вибрати пункт меню “2. Pack dir», то образ буде створено з даних, розміщених у папці Pack/recovery.

Щоб відмовитися від операції, виберіть пункт меню «3. Return». При цьому ви повернетеся в меню "Recovery commands".

3.4. Меню Kernel.

Щоб перейти до обробки образу Kernel, виконайте команду «3-Kernel». При цьому ви перейдете до меню "Kernel commands".

Меню обробки образів Kernel має такий вигляд:

**************************
* Kernel commands: *
* —————— *
* 1-Kernel unpack *
* 2-Kernel pack *
* *
**************************
* 3-Return *
**************************
Please, choose command:

За командою "1" проводиться розпакування образів Kernel, за командою "2" проводиться запакування образів Kernel. За командою «3» здійснюється повернення головне меню кошти.

3.4.1. Розбирає образ kernel.img.

Усі дії виконуються автоматично, тобто. без Вашої участі та описувати тут нічого.

3.4.2. Складання образу kernel.img.

Під час збирання образу kernel з'явиться меню вибору джерела даних.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

Ви маєте можливість зібрати образ із розпакованого образу, розташованого в папці Unpack/Kernel, для цього вибирайте пункт меню «1. Unpack dir». Якщо вибрати пункт меню “2. Pack dir», то образ буде створено з даних, розміщених у папці Pack/Kernel.

Щоб відмовитися від операції, виберіть пункт меню «3. Return». При цьому ви повернетеся в меню "Kernel commands".

3.5. Меню System.

Щоб перейти до обробки образу System, виконайте команду «3-System». При цьому Ви перейдете до меню System Commands.

Меню обробки образів System має такий вигляд:


* System commands: *
* ——————————————— *
* 1-unpack yaffs * 2-pack yaffs *
* 3-unpack ext3 * 4-pack ext3 *
* 5-unpack ext4 * 6-pack ext4 *
* 7-sparse to ext4 * *
* * *
***************************************************
* 8-Return *
***************************************************
Please, choose command:

3.5.1. Розбирає образ системи типу yaffs.

За командою "1" проводиться розпакування образів System типу yaffs в папку Unpack/System.

3.5.2. Складання образу системи типу yaffs.

За командою "2" проводиться запакування образів System типу yaffs. З'явиться меню вибору джерела даних.

**************************
* Choice source image: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

Ви маєте можливість зібрати образ із розпакованого образу, розташованого в папці Unpack/system, для цього вибирайте пункт меню «1. Unpack dir». Якщо вибрати пункт меню “2. Pack dir», то образ буде створено з даних, розміщених у папці Pack/system.

Щоб відмовитися від операції, виберіть пункт меню «3. Return» і Ви повернетесь до попереднього меню «System commands».

3.5.3. Розбирання образу системи типу ext3.

За командою "3" проводиться розпакування образів System типу ext2-ext3 в папку Unpack/System.

3.5.4. Складання образу системи типу ext3.

За командою "4" проводиться збірка образу System типу ext2-ext3. Запаковка провадиться аналогічно п.3.5.2. тільки вихідний образ матиме тип ext3.

3.5.5. Розбирання образу системи типу ext4.

За командою "5" проводиться розпакування образів System типу ext4 в папку Unpack/System.

3.5.6. Складання образу системи типу ext4.

За командою "6" проводиться збірка образу System типу ext4. Запаковка провадиться аналогічно п.3.5.2. тільки вихідний образ матиме тип ext4.

3.5.7. Конвертація стисненого образу sparse в ext4.

За командою «7» провадиться перетворення (конвертація або перекодування) стислих образів типу sparse в образи типу ext4 (аналог операції simg2img).

3.5.8.Повернення до головного меню.

За командою «8» здійснюється повернення головне меню кошти.

3.6. Меню інших команд.

Щоб перейти до інших команд, виконайте команду «5-Other commands». При цьому ви перейдете до меню "Others commands". Меню виконання інших команд має такий вигляд:

**************************
* Інші commands: *
* —————- *
* 1-Init SuperUser *
* 2-Calculate md5 *
* *
**************************
* 3-Return *
**************************
Please, choose command:

За командою "1" проводиться ініціалізація SuperUser в образі System, за командою "2" проводиться розрахунок контрольної суми файлів. За командою «3» здійснюється повернення головне меню кошти.

3.6.1. Ініціалізація SuperUser.

Під час ініціалізації SuperUser з'явиться меню вибору джерела:

**************************
* Choice source init: *
* 1. Unpack dir *
* 2. Pack dir *
* 3. Return *
**************************
Please, choose source:

Ви можете ініціалізувати розпакований образ, розташований у папці Unpack/system, для цього виберіть пункт меню «1. Unpack dir». Якщо вибрати пункт меню “2. Pack dir», то буде ініціалізований образ, розташований у папці Pack/system. Щоб відмовитися від операції, виберіть пункт меню «3. Return».
Ініціалізація здійснюється шляхом копіювання необхідних файлів (su та SuperSU.apk) у розібраний образ System.img. Для отримання Root-доступу Вам необхідно:

- Провести розпакування образу System, використовуючи команду «3» головного меню
засоби або помістити розпакований образ у папку Unpack(або Pack)/System/;
- Виконати команду "1-init SuperUser" меню "Others commands".

Після прошивки образу System.img у Вас на Вашому пристрої з'явиться Root-доступ. Якщо для отримання Root-доступу на Вашому пристрої використовуються файли іншої версії, Вам достатньо оновити (замінити) файли su та SuperSU.apk у папці App/.

3.6.2. Підрахунок контрольної суми

Щоб підрахувати контрольну суму файлу або файлів, помістіть їх у папку Pack/md5/. Після виконання команди "2-Calculate md5" у всі файли, що знаходяться в папці Pack/md5, буде дописано контрольну суму, розраховану за алгоритмом md5. Обробляються лише файли без розширення або з розширенням .img, .tar, .zip.

3.7. Ініціалізація.

Для ініціалізації виконайте команду «6-init Tools». При цьому будуть створені всі необхідні для роботи засоби MTwinTools структури папок і буде здійснено копіювання вхідних образів у робочу папку Unpack/Firmware/Image.

3.8. Очищення засобу.

Для очищення робочої області наберіть "7-CLEAN". При цьому ВСІ додаткові папки разом із вмістом будуть видалені, засіб MTwinTools завершить роботу і набуде вигляду, який він мав відразу після інсталяції.

3.9. Вихід.

Для виходу наберіть "8-Exit". При цьому відбудеться ТІЛЬКИ вихід із засобу без усякого очищення.

Інтерполяція, інтерполювання— в обчислювальній математиці спосіб знаходження проміжних значень величини наявного дискретного набору відомих значень.

Багатьом із тих, хто стикається з науковими та інженерними розрахунками, часто доводиться оперувати наборами значень, набутих дослідним шляхом або методом випадкової вибірки. Як правило, на підставі цих наборів потрібно побудувати функцію, на яку могли б з високою точністю потрапляти інші значення. Таке завдання називається апроксимацією. Інтерполяцією називають такий різновид апроксимації, при якій крива побудованої функції проходить точно через точки даних.

Існує багато звичайно різницевих методів інтерполяції. Найбільш
поширеним є метод Ньютона для інтерполяції "вперед" (метод Ньютона - Грегорі). Інтерполяційний поліном у цьому випадку має вигляд:

Коефіцієнти З знаходимо за формулою:

Реалізація програми мовою C#:
using System; namespace Interpolation (class Program…

Візуалізація алгоритмів сортування

Програма розділена на два потоки, в одному з яких виконується сортування, а в іншому перемальовка графічного інтерфейсу. Після натискання на кнопку «Сортувати», у програмі викликається метод «RunSorting», у якому визначається алгоритм сортування та створюється новий потік із запущеним у ньому процесом сортування.
private void RunSo…

Качер Бровина на КТ819Г

Сьогодні я хочу показати свій Качер, який робив на минулих зимових канікулах. Описувати весь процес виготовлення не буду, тому що в інтернеті є багато статей. Напишу лише про основні його параметри.

Нижче кілька фото зроблених під час збирання пристрою.

Котушка намотана проводом 0,08 мм приблизно 2000 витків на трубі ПВХ діаметром 50 мм і висотою 200 мм.

Як термінал була використана пластина зі старого жорсткого диска. Все інше збиралося за схемою, яка знаходиться в самому низу сторінки.

Перший варіант харчувався від блока живлення старого комп'ютера, напругою 12 В. Потім був зроблений окремий блок живлення, напругою в 30 В і з вбудованим охолодженням.

Схема пристрою:

Що таке CORS та як його використовувати

Спільне використання ресурсів (CORS) – це специфікація W3C, яка дозволяє здійснювати міждоменний зв'язок у браузері. Створюючи поверх об'єкта XMLHttpRequest, CORS дозволяє розробникам працювати з однаковими ідіомами, як запити з одним доменом. Варіант використання для CORS простий. Уявіть, що на alice.com є деякі дані, які сайт bob.com хоче отримати. Цей тип запиту зазвичай не допускається відповідно до тієї ж політики походження браузера. Однак, підтримуючи запити CORS, alice.com може додати кілька спеціальних заголовків відповідей, які дозволяють bob.com отримати доступ до даних. Як видно з цього прикладу, підтримка CORS вимагає координації між сервером та клієнтом. На щастя, якщо ви розробник на стороні клієнта, ви захищені від більшості цих деталей. У решті цієї статті показано, як клієнти можуть виконувати запити з крос-початком і як сервери можуть налаштовувати себе підтримки CORS. Продовж…

У цьому розділі, ми можемо побачити, що ми можемо конвертувати і витягнути System.img and System.new.dat files on a Windows PC. system.img є частиною Android OS. Image file contains all the default applications, framework, Dalvik VM (Virtual Machine), initialization scripts і інші необхідні support files, які на Android OS потребує або складається з.

system.new.dat file є деякий, який подібний до system.img file. Це може бути використане для derivated or extract system dump of any Android OS. Це загрожує загальним поєднанням з stock або знижками apps, ringtones, wallpapers, themes і кілька інших необхідних системних файлів.

Всередині системи. Для виконання цього завдання один вимагається спеціальних інструментів, які є specifically built for this purpose.

Приголомшливо, роблячи це завдання на Windows PC is difficult. Існує безліч обмежень, коли на платформі Windows. Там є кілька інструментів, які гарантують до цього. However, none були found promising to me except one.

Auto Tool v3.0 функцій, як він повинен і найкращий з його кнопки. The link to download Auto Tool v3.0 є наведений нижче. Я також маю натиснути на таблиці до extract system.img and system.new.dat files. Якщо ви потрібні для вас може також refer to it.

Prerequisites

  • Java SE Development Kit – Download and Install
  • Download and Install both Python 3.6.x and Python 2.7.x
  • Auto Tool v3.0 – Download for x64 | Download for x86

Important Points to Note

  • While installing Python 3.6.x, make sure to check the box that says Add Python 3.6 to PATH.
  • While installing Python 2.7.x, click on Advanced Options and check the box that says Compile .py.

How to Extract System.new.dat file on Windows

  1. Make sure you downloaded Auto Tool v3.0 linked above в prerequisites section.
  2. Виконайте файл у новому складі.
  3. Android-Tool folder will be hidden.
  4. Next, Open the Auto Tool v3.0.
  5. Then, type 1 і hit enter (A New folder will pop up).
  6. system.new.dat is generally accompanied by two more files (system.transfer.list and file_contexts). Copy all the three files in the folder that popped up.
  7. Там, як він дає змогу натиснути будь-який ключ до основи (The file will be converted to EXT4 format).
  8. Після завершення процесу є досконалим, terminal буде відтворювати EXT4 superblock info, що містить успішне збирання процесу.
  9. Next, press any key to continue (Визначення EXT4 файлу буде почати).
  10. Wait, a message will be displayed saying, Done. Натисніть на Folder System_Unpack (Press any key to continue).

How to Extract System.img File on Windows


That's it, guys. Ви можете виконати вилучені файли в System_Unpack folder, що знаходиться в тій самій директорії, як Auto Tool v3.0.

Перевірте, щоб виключити проміжок DAT і проміжок IMG перед використанням або вашим коротким закінченням mixing деякі інші компоненти в поточній видачі firmware.

Seems like there is also a 'readme' file which lists all the features and prerequisites. Type 0 to open it. Стипи для перетворення файлів DAT на IMG файли або vice-versa є більшими або меншими самі вони не mentioning them. However, якщо ваші хлопці мають будь-які запитання або питання, пов'язані з цією post do let me know in the comments below.

© 2022 androidas.ru - Все про Android