Интерполация, интерполация- в изчислителната математика, метод за намиране на междинни стойности на количество от съществуващ дискретен набор от известни стойности.

Много от тези, които се занимават с научни и инженерни изчисления, често трябва да работят с набори от стойности, получени емпирично или чрез произволно вземане на проби. Като правило, въз основа на тези набори, се изисква да се конструира функция, върху която други получени стойности биха могли да паднат с висока точност. Такава задача се нарича приближение. Интерполацията е вид приближение, при което кривата на построената функция минава точно през наличните точки от данни.

Има много методи за интерполация с крайни разлики. Повечето
общ е методът на Нютон за "права" интерполация (методът на Нютон-Грегори). Интерполационният полином в този случай има формата:

Коефициентите C се намират по формулата:

Реализация на програмата в C#:
използване на системата; интерполация на пространство от имена (клас програма...

Програмата е разделена на две нишки, в едната от които се извършва сортиране, а в другата пречертаване GUI. След натискане на бутона "Сортиране", програмата извиква метода "RunSorting", при който се определя алгоритъма за сортиране и се създава нова нишка, в която протича процеса на сортиране.
private void RunSo...

Днес искам да покажа моя Kacher, който направих през последните зимни празници. Няма да описвам целия процес на производство, тъй като има много статии в интернет. Ще пиша само за основните му параметри.

По-долу има няколко снимки, направени по време на сглобяването на устройството.

Бобината е навита с тел от 0,08 mm приблизително 2000 навивки върху PVC тръба с диаметър 50 mm и височина 200 mm.

Плоча от стар харддиск. Всичко останало е сглобено според схемата, която се намира в най-долната част на страницата.

Първият вариант се захранваше със старо компютърно захранване, 12 V. След това беше направено отделно захранване, 30 V и с вградено охлаждане.

Диаграма на устройството:

Споделянето на ресурси (CORS) е спецификация на W3C, която позволява междудомейн комуникация в браузъра. Като надгражда обекта XMLHttpRequest, CORS позволява на разработчиците да работят със същите идиоми като заявките за един домейн. Случаят на използване на CORS е прост. Представете си, че alice.com има някои данни, които bob.com иска да извлече. Този тип заявка традиционно не се разрешава при същата политика за произход на браузъра. Въпреки това, като поддържа CORS заявки, alice.com може да добави някои специални заглавки на отговора, които позволяват на bob.com достъп до данните. Както можете да видите от този пример, поддръжката на CORS изисква координация между сървъра и клиента. За щастие, ако сте програмист от страна на клиента, вие сте защитени от повечето от тези подробности. Останалата част от тази статия показва как клиентите могат да правят заявки от кръстосан произход и как сървърите могат да се конфигурират да поддържат CORS. Продължава...

Нека започнем с факта, че имате нужда от Linux. В Windows можете само да разглобите фърмуера, но не можете да го сглобите отново по чисто технически причини. Сега за фърмуера. Обикновено те се разпространяват като ZIP архиви, флашнати чрез персонализирано възстановяване. Това е един от тях, който ще ни трябва за експерименти. Препоръчвам да започнете пътя на модернизиране с някакъв персонализиран фърмуер, възможно най-близък до AOSP, защото често е по-лесно да го разберете, отколкото в наличност.

  1. Разопаковайте архива с фърмуера във всяка папка.
  2. Изтеглете скрипта от връзката и го разархивирайте в произволна папка.
  3. Стартирайте ext файла (ако се оплаква от липсата на Java, просто го пропуснете, като натиснете y ; Java е необходима само за опаковане).
  4. Сега изберете разопаковане, като натиснете бутон 1 и след това Enter.
  5. Нова папка с име extract_* ще се появи до ext файла и папката с инструменти. Копирайте файловете system.new.dat и system.transfer.list в него.
  6. След като копирате файловете, натиснете Enter и изчакайте. След известно време ще трябва да натиснете отново Enter, въведете паролата на администратора и отново натиснете Enter.
  7. Готов. Съдържанието на системата в папката extract_*/output.

Ръчен начин

Разопаковайте архива с фърмуера във всяка папка (например в rom):

$ mkdir ~/rom $ разархивирайте пътя_към_архив -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 в необработено изображение с име system.img. Монтирайте изображението в подпапката mnt:

$ mkdir mnt $ sudo mount -t ext4 -o цикъл system.img ~/rom/mnt

Структура на директорията на Android

След разопаковането на системата ще се появи следната структура на директория:

  • ап- предварително инсталирани приложения със стандартни привилегии;
  • частно приложение- предварително инсталирани приложения с повишени привилегии, включително някои системни компоненти;
  • кошче- двоични файлове във формат ELF, подобни на директориите /bin и /usr/bin в Linux. Съдържа различни системни компоненти, използвани от системни компоненти от по-високо ниво;
  • и т.н- файлове с настройки. Пълен аналог на /etc в Linux, използван обаче само от тези компоненти на системата. Приложения за Androidсъхранява индивидуални настройки в /data/data/ директории;
  • шрифтове- шрифтове. По подразбиране съдържа само шрифтове с марка Roboto;
  • рамка- библиотеки от Java класове, използвани от системата и приложенията. Има и файл framework-res.apk, съдържащ Пълно описаниеинтерфейс операционна система, включително всички графични файлове;
  • либи lib64- Linux библиотеки, използвани от системни компоненти на ниско ниво. Подобно на директориите /lib и /usr/lib в Linux, включително стандартни библиотеки като libc, libz, libssl. Устройства с архитектура ARMv7 и по-ниска няма да имат директория lib64;
  • медии- медийни файлове: мелодии, звуци за известяване, звуци на интерфейса и анимация при зареждане на ОС;
  • tts- файлове, необходими на синтезатора на реч;
  • usr- директория, която обикновено съдържа файловете, необходими за стартиране на приложения от директорията bin. По същество, аналог на /usr/share;
  • продавач- файлове, предоставени от производителя на устройството. Обикновено съдържа двоичен фърмуер за различни хардуерни компоненти, като Wi-Fi модул;
  • xbin- указател по избор; персонализираният фърмуер го използва, за да съхранява неща като bash интерпретатора, SSH, PowerTOP, BusyBox и други полезни инструменти;
  • build.prop- файл, съдържащ информация за монтажа, както и различни настройки на ниско ниво;
  • addon.d- съдържа скриптове, които се изпълняват след инсталиране на фърмуера. GApps също предписват свой собствен скрипт тук, благодарение на който се прераждат след преинсталиране на фърмуера.

Запознат с осн структура на androidНека започнем да правим промени.

Премахване и добавяне на приложения

Всички предварително инсталирани програми могат да бъдат намерени в две папки:

  • /система/приложение/;
  • /system/priv-app/.

Те се различават един от друг по привилегии за достъп. Ако програмите от приложението имат същите разрешения като програми на трети страни(например инсталираните от Play Store), тогава приложенията от priv-app могат да използват привилегировани API (привилегировани права). Можете да научите повече за това от.

За да инсталирате предварително приложението във фърмуера, просто хвърлете неговия APK файл в /system/app/ . Можете, разбира се, да създадете отделна папка, но в нашия случай това няма смисъл, тъй като папката се използва за съхраняване на библиотеки и odex файлове, които просто нямаме. За да изтриете, просто изтрийте папката с него.

Можете да отидете по-далеч и да промените стоковите приложения за аналози. Например, за да замените календара, изтрийте папката Календари копирайте нашия любим com.rpagyc.simplecalendar.apk в /system/app. И не можете да копирате. Тогава фърмуерът ще бъде без календар.

Основното нещо, което трябва да запомните е, че фондовите програми могат да бъдат свързани. Следователно изтриването на една програма може да доведе до пълна неработоспособност на друга (например CalendarProvider и Calendar: като изтриете първата, вие ще направите неработещ не само основния календар, но и всеки друг календар). За щастие, няма толкова много връзки в чистия фърмуер на AOSP.

Промяна на анимацията за зареждане

Анимациите се съхраняват като PNG изображения, пакетирани в /system/media/bootanimation.zip архива без компресия. Вътре в архива са:

  • desc.txt- файл, описващ анимацията;
  • част0- папка с анимационни файлове, които се възпроизвеждат първи;
  • част 1- папка с анимационни файлове, които се възпроизвеждат втори;
  • част?- екстремна папка, изображенията от която се възпроизвеждат в края.

Файлът desc.txt може да съдържа нещо подобно

1920 1080 60 p 1 0 part0 p 0 0 part1

Целта на тези редове е интуитивна: 1920 × 1080 е разделителната способност на изображението, 60 е броят на кадрите в секунда. Part0 и part1 сочат към папките, от които ще се възпроизвежда анимацията и последователността на възпроизвеждане. Като цяло може да има една част или няколко (три или повече).

Изображенията в частните папки са номерирани с пет цифри по реда на възпроизвеждане: 00000.png , 00001.png , 00002.png … Тези изображения могат да бъдат променени на ваши собствени, като по този начин се създаде оригинална анимация. Или можете просто да изтриете файла bootanimation.zip. След това устройството ще покаже анимация от стандартен Android. Или използвайте готова колекция от анимации на w3psit3-dns.com.

Промяна на звуковия дизайн

Всъщност всички звуци, които системата възпроизвежда, се съхраняват в папката /system/media/audio. В него ще намерите следните папки:

  • аларми- мелодии за аларма;
  • известия- звуци за известяване;
  • мелодии- мелодии;
  • потребителски интерфейс- системни звуци, като изтощена батерия, фокус на камерата, избор на елементи на интерфейса.

В аларми, известия, мелодии можете да добавите толкова мелодии, колкото искате. Можете да ги вземете например от тук:

  • стандартни мелодии от различни телефони и смартфони Nokia;

И малък лайфхак: изтриването на файлове от папката на ui няма да доведе до сривове и грешки, а до изчезване системни звуци. Следователно можете лесно да изключите звука от създаване на картина от камерата, като направите екранна снимка, просто като изтриете файловете, съдържащи тези звуци (имената им са интуитивни).

Добавяне на шрифтове

Шрифтовете се съхраняват във fonts. Можете да намерите архиви с файлове с шрифтове на w3psit3-dns.com и XDA. За да инсталирате, просто копирайте и заменете ttf файловете от архива в папката с шрифтове.

Промяна на системните настройки (build.prop)

Системният образ има интересен файл 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 Appsсъдържа архив. Препоръчвам да изтеглите версията Pico. Той съдържа само Play Store и набор от библиотеки, необходими за работата му.

Интегрирането на GApps във фърмуера се извършва по следния начин:

  1. Разопаковайте ZIP архива на GApps с помощта на произволен архиватор.
  2. Отидете в папката Core.
  3. Виждаме много архиви с разширение .tar.lz. Разархивирайте с lzip.
  4. След разопаковането копирайте файловете от папките в съответните папки в системата. Какво къде да хвърлите, лесно се досещате от структурата на директориите в архива. Например configupdater (от екранната снимка) трябва да се постави в папката priv-app.
  5. Отидете в папката GApps (разположена до Core) и направете стъпки 3 и 4 за файловете в нея.
  6. Това е всичко, интегрирахме GApps в нашия фърмуер!

Свободно място

Трябва да се разбере, че мястото за инсталиране на фърмуера е ограничено. Не можете да инсталирате фърмуер, който е по-голям от системния дял на устройството. Можете да видите стойността му, като използвате:

$ adb shell df /система

Вторият вариант: поставете терминал на устройството и въведете командата

$ df / система

Можете да разберете размера на дяла в байтове, като инсталирате BusyBox на вашия смартфон и изпълните командата в терминала

$ busybox df -B 1 /система

Или същото с използвайки ADB:

$ adb shell busybox df -B 1 /система

Мястото, заемано от фърмуера, ще бъде приблизително равно на размера на системата, когато е разопакована. Като цяло, когато създавате фърмуер, трябва да се има предвид, че потребителят може също да флашва различни модификации върху него (SuperSU, Xposed) или да прехвърля приложения в системния раздел. Например минималният пакет на Google Apps (Pico) изисква минимум 150 MB допълнително място за инсталиране.

Ако е необходимо, размерът на файла на фърмуера може да бъде намален чрез изтриване не само ненужни програмиот /system/app (/system/priv-app) и звуци от повикване от system/media/audio и bootanimation.zip, но също така:

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

Сглобяване

След като направите промени, трябва да съберете всичко обратно. Първо, нека опаковаме системния дял в 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 инсталирайте android-tools-fsutils

Нека конвертираме нашата папка обратно в RAW изображение. Нека го наречем system_new.img:

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

1073741824 промяна на размера на системния дял в байтове. Още по-добре е да го направите малко по-малък. Ние правим рядко изображение от RAW изображение:

$ 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 file.zip

Подводни скали

Докато изграждате system.new.dat може да срещнете няколко проблема, причинени от постоянна промянав механизмите на образуване фърмуер за android. Горният метод трябва да работи добре за базиран на Android 5.1 фърмуер, по-новите може да са трудни, така че трябва да използвате други версии на инструментите за компилация. За съжаление не можем да опишем всички нюанси на сглобяването, така че може да се наложи да потърсите в Google.

Инсталация

За да инсталирате персонализиран фърмуер, имате нужда от персонализиран TWRP възстановяване, което ви позволява да инсталирате неподписан или подписан фърмуер с тестов ключ (този е този, който създадохме). В списанието многократно сме описвали процеса на инсталиране, а във форумните теми, посветени на вашето устройство, обикновено има достатъчно информация, за да направите това.

TWRP

заключения

Тази статия описва само върха на огромен айсберг, наречен "модификация на фърмуера". "Сериозният" фърмуер не само допълва ядрото и самия фърмуер с фондови приложениямного функции (които често са откъснати от други ядра и фърмуер), организиране или дори промяна на принципите на тяхното взаимодействие, но те също могат радикално да променят принципите на операционната система. Вярно е, че такъв занаят вече не е Android, а отделна операционна система, дори ако там могат да се инсталират услуги на Play (между другото, такива действия, меко казано, не се насърчават от Google). Е, не забравяйте: всички черупки от производители - TouchWiz, ZenUI, HTC Senseи така нататък - просто обикновен персонализиран, максимално обвързан с хардуера на устройството и един с друг.

Android фърмуер, т.е. записването на определени файлови изображения в съответните секции от паметта на устройството с помощта на специален софтуер на Windows, който почти напълно автоматизира процеса, далеч не е най-трудната процедура от гледна точка на потребителя. Ако използването на такива инструменти е невъзможно или не дава желания резултат, ситуацията се спасява.

За да флашнете устройство с Android чрез Fastboot, ще ви трябват познания конзолни командирежим на работа на едноименното устройство, както и определена подготовка на смартфон или таблет и компютър, използвани за работа.

Поради факта, че в режим на бързо зареждане манипулациите със секциите на паметта на устройството всъщност се извършват директно, когато използвате метода на фърмуера, описан по-долу, е необходимо известно внимание и внимание. В допълнение, следването на стъпките по-долу вероятно трябва да се препоръчва само ако няма друг начин за флашване на фърмуера.

Потребителят извършва всяко действие със собствените си устройства с Android на собствена опасност и риск. За възможните негативни последици от използването на методите, описани на този ресурс, администрацията на сайта не носи отговорност!

Точното изпълнение на подготвителните процедури предопределя успеха на целия процес на мигане на устройството, така че изпълнението на описаните по-долу стъпки може да се счита за предпоставка преди извършване на операции.

Инсталиране на драйвери

Можете да научите как да инсталирате специален драйвер за режим на бързо зареждане от статията:

Архивиране на системата

Ако има и най-малката възможност, преди мигането, създаването на пълно архивиранесъществуващи секции от паметта на устройството. Необходимите стъпки за създаване на резервно копие са описани в статията:

Изтегляне и подготовка на необходимите файлове

Fastboot и са допълнителни инструменти от Android SDK. Изтегляме пълния инструментариум или изтегляме отделен пакет, съдържащ само ADB и Fastboot. След това разархивирайте получения архив в отделна папка на устройство C.

Чрез Fastboot е възможно да се записват както отделни участъци от паметта на устройство с Android, така и актуализации на фърмуера като цял пакет. В първия случай ще ви трябват файлове с изображения във формат *.img, във втория - пакет(и) *.zip. Всички файлове, които са планирани да бъдат използвани, трябва да бъдат копирани в папката, съдържаща разопакованите Fastboot и ADB.

Пакети *.zipне разопаковайте, просто трябва да преименувате изтегления файл(ове). По принцип името може да бъде всичко, но не трябва да съдържа интервали и руски букви. За удобство трябва да се използват кратки имена, например update.zip. Наред с други неща, е необходимо да се вземе предвид факта, че Fastboot е чувствителен към главни и малки букви в изпратените команди и имена на файлове. Тези. „Update.zip“ и „update.zip“ за бързо стартиране са различни файлове.

Стартирайте Fastboot

Тъй като Fastboot е конзолно приложение, работата с инструмента се извършва чрез въвеждане на команди с определен синтаксис в командния ред. Windows линия(cmd). Най-лесният начин да стартирате Fastboot е да използвате следния метод.


Тази добавка ви позволява да извършвате всички операции от примерите, описани по-долу, в полуавтоматичен режим и да не прибягвате до ръчно въвеждане на команди в конзолата.


Отключване на буутлоудъра

Производителите на определен брой устройства с Android блокират възможността за управление на секциите на паметта на устройството чрез заключването на буутлоудъра. Ако устройството има заключен буутлоудър, в повечето случаи флашването му чрез fastboot не е възможно.

За да проверите състоянието на буутлоудъра, можете да изпратите до устройството, намиращо се в режим на бързо зарежданеи свързан към компютър, командата:

fastboot oem информация за устройството

Но отново трябва да го признаем насамоткриването на състоянието на заключване не е универсално и е различно за различните устройства различни производители. Това твърдение важи и за отключване на буутлоудъра - методологията за извършване на процедурата е различна за различни устройстваи дори за различни модели на една и съща марка.

Записвайте файлове в дяловете на паметта на устройството

След като завършите подготвителните процедури, можете да продължите към процедурата за запис на данни в секциите на паметта на устройството. Още веднъж проверяваме правилността на изтеглянето на файлове с изображения и / или zip пакети и тяхното съответствие с устройството, което се флашва.

внимание! Флашването на неправилни и повредени файлови изображения, както и изображения от друго устройство в устройството, в повечето случаи води до невъзможност изтегляния за androidи/или други негативни последици за устройството!

Инсталиране на zip пакети

За да запишете на устройството, например, OTA актуализации или пълен комплектсофтуерни компоненти, разпространявани във формата *.zip, се използва командата update fastboot.


Записване на img изображения в секции на паметта

В много случаи търсенето на фърмуер във формат *.zipможе да бъде трудно за изтегляне. Производителите на устройства не са склонни да публикуват своите решения онлайн. В допълнение, zip файловете могат да бъдат флашнати чрез възстановяване, така че целесъобразността на използването на метода за писане на zip файлове чрез fastboot е под въпрос.

Но по-специално възможността за флашване на отделни изображения в съответните секции "ботуш", система, "потребителски данни", възстановяванеи други чрез Fastboot при възстановяване на устройството след сериозни софтуерни проблеми, може да спаси положението в много случаи.

За да флашнете отделно img изображение, използвайте командата:

fastboot флаш partition_name file_name.img




По този начин фърмуерът се произвежда с помощта на команди, изпратени през конзолата. Както можете да видите, подготвителните процедури отнемат повече време и усилия, но ако се извършват правилно, записът на секциите от паметта на устройството е много бърз и почти винаги безпроблемен.

MTwinTools е помощна програма, която ви позволява да работите с файлове на фърмуера и изображения boot.img, recovery.img и system.img. Авторът на помощната програма е vin2809 от форума w3bsit3-dns.com. 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;
  • конвертиране на разреден разреден файл в ext4 изображение;
  • изчисляване на контролната сума на файл във формат md5;
  • инициирайте SuperUser.

1.2. Инсталиране на MTwinTools.
Инструментът се инсталира чрез разопаковане на архива на всяко удобно за вас място. Това ще създаде папката MTwinTools, съдържаща:

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

Папката _In е празна и е предназначена да съдържа изходни изображения за обработка. Папката App/ съдържа комплекта пакетни файловекоито извършват обработка на изображения. Папката Cygwin/ съдържа свободно разпространявани библиотеки и файлове за услуги. Файлът Readme.txt съдържа ръководството за потребителя, т.е. текста, който четете в момента. Файлът menu.bat се използва за създаване на менюто на MTwinTools.

ВНИМАНИЕ! НЕ Е ЗАДЪЛЖИТЕЛНО да задавате пътища за достъп до сервизни файлове в променливите на средата на Windows OS.

По време на работа ще се появят други необходими папки:

  • Пакет, който ще съдържа файловете за зареждане, възстановяване и системни файлове след това
    пакети, папка md5, съдържаща файлове с контролна сума, и папка
    Firmware, в чиято подпапка Image ще бъдат разположени събраните Boot файлове,
    Възстановяване и система;
  • Unpack, в който НАПЪЛНО разопакованите файлове Boot, Recovery и System
    ще се намира в папката Firmware, в подпапката Image.

1.3. Деинсталиране на MTwinTools.

Инструментът се деинсталира чрез изтриване на главната папка на инструмента, т.е. MTwinTools папки.

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

2.1. За да започнете, трябва да стартирате файла menu.bat, който ще стартира менюто на инструмента.

2.2 Изображенията, предназначени за разопаковане, трябва да бъдат поставени в папката _In на инструмента. Имената на входните файлове ТРЯБВА да съдържат ключови думии може да има следните имена:

  • *зареждане*.img;
  • *възстановяване*.img;
  • *ядро*.img;
  • *система*.img.

2.3.При първото стартиране инициализирайте инструмента. Когато инструментът се инициализира, ВСИЧКИ файлове, намиращи се в папката _In, ще бъдат копирани в работната входна папка Unpack/Firmware/Image. Това се прави с цел запазване на оригиналните файлове.

2.4.След разглобяване на изображението, неговото съдържание ще бъде поставено в папката Unpack, в която ще бъде създадена следната структура на папките:

Зареждане (възстановяване)/cfg/
ядро/
рамдиск/

Папката cfg/ ще съдържа настройките на изображението, в папката на ядрото ще намерите ядрото, т.е. zImage двоичен файл и всичко останало ще бъде в папката на ramdisk. За да се изгради образ, неговите съставни части, т.е. ramdisk, ядро ​​и евентуално настройки, поставете в съответните папки в Unpack. Генерираното изображение ще бъде в изходната папка Pack.

3. Описание на инструмента.

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

Главното командно меню на инструмента изглежда така:

**************************
*MTwinTools_V_0.6*
**************************
* Команди за изображения: *
* ————— *
*1-Boot*
*2-Възстановяване*
*3-ядро*
*4-система*
* 5-Други команди *
* *
**************************
* Команди на инструмента: *
* ————— *
*6-InitTools*
*7-Почистване*
* *
**************************
*8-Изход*
**************************
Моля, изберете команда:

Изборът на команда става чрез въвеждане на цифрата, посочена пред нея. AT сегашна версияМожете да направите следното:

- отидете в менюто за обработка на изображения за зареждане, като въведете числото "1";
- отидете в менюто за обработка на изображения за възстановяване - "2";
- отидете в менюто за обработка на изображения на ядрото - "3";
- отидете в менюто за обработка на изображението Система - "4";
- отидете в менюто на други команди - "5";
- за инициализиране на работното пространство на инструмента - "6";
- за почистване на работната зона на инструмента - "7";
- завърши работата, т.е. изход от съоръжението - "8".

3.2. Меню за стартиране.

За да продължите към обработката на изображението за зареждане, подайте командата "1-Boot". Това ще ви отведе до менюто Boot commands.

Менюто за обработка на изображения при зареждане изглежда така:

**************************
* Команди за зареждане: *
* ————— *
* 1-Boot разопаковане *
* Пакет от 2 зареждания *
* *
**************************
*3-връщане*
**************************
Моля, изберете команда:

Команда "1" разопакова изображения за зареждане, команда "2" пакетира изображения за зареждане. Команда "3" връща към главното меню на инструмента.

2.2.1. Разглобяване на изображението boot.img.

2.2.2. Изграждане на изображението boot.img.

Когато създавате изображението за зареждане, ще се появи менюто за избор на източник на данни.

**************************
* Избор на изходно изображение: *
* 1. Разопаковайте директорията *
* 2. Pack dir *
* 3. Връщане *
**************************
Моля, изберете източник:

Имате възможност да създадете изображение от разопаковано изображение, намиращо се в папката Unpack / Boot, за да направите това, изберете елемента от менюто „1. разопаковайте dir". Ако изберете елемент от менюто „2. Pack dir", тогава изображението ще бъде създадено от данните, намиращи се в папката Pack / boot. За да отмените операцията, изберете елемента от менюто „3. връщане". В същото време вие
върнете се към менюто "Команди за зареждане".

3.3. меню за възстановяване.

За да продължите към обработката на изображението за възстановяване, изпълнете командата "2-Recovery". Това ще ви отведе до менюто "Команди за възстановяване". Менюто за обработка на изображения за възстановяване изглежда така:

**************************
* Команди за възстановяване: *
* —————— *
*1-Разопаковане на възстановяване*
* 2-пакет за възстановяване *
* *
**************************
*3-връщане*
**************************
Моля, изберете команда:

Команда "1" разопакова изображения за възстановяване, команда "2" пакетира изображения за възстановяване. Команда "3" връща към главното меню на инструмента.
2.3.1. Разглобяване на изображението recovery.img.

Всички действия се извършват автоматично, т.е. Без вашето участие тук няма какво да описвам.

2.3.2. Изграждане на изображението recovery.img.

Когато сглобявате изображението за възстановяване, ще се появи меню за избор на източник на данни.

**************************
* Избор на изходно изображение: *
* 1. Разопаковайте директорията *
* 2. Pack dir *
* 3. Връщане *
**************************
Моля, изберете източник:

Имате възможност да създадете изображение от разопаковано изображение, намиращо се в папката Unpack/recovery, за да направите това, изберете елемента от менюто „1. разопаковайте dir". Ако изберете елемент от менюто „2. Pack dir", тогава изображението ще бъде създадено от данните, намиращи се в папката Pack/recovery.

За да отмените операцията, изберете елемента от менюто „3. връщане". Това ще ви върне в менюто "Команди за възстановяване".

3.4. Меню на ядрото.

За да продължите към обработката на изображението на ядрото, изпълнете командата "3-Kernel". Това ще ви отведе до менюто "Команди на ядрото".

Менюто за обработка на изображения на ядрото изглежда така:

**************************
* Команди на ядрото: *
* —————— *
* Разопаковане на 1 ядро ​​*
* Пакет с 2 ядра *
* *
**************************
*3-връщане*
**************************
Моля, изберете команда:

Команда "1" разопакова изображения на ядрото, команда "2" пакетира изображения на ядрото. Команда "3" връща към главното меню на инструмента.

3.4.1. Разглобяване на изображението kernel.img.

Всички действия се извършват автоматично, т.е. Без вашето участие тук няма какво да описвам.

3.4.2. Изграждане на изображението kernel.img.

При изграждане на образа на ядрото ще се появи менюто за избор на източник на данни.

**************************
* Избор на изходно изображение: *
* 1. Разопаковайте директорията *
* 2. Pack dir *
* 3. Връщане *
**************************
Моля, изберете източник:

Имате възможност да създадете изображение от разопаковано изображение, намиращо се в папката Unpack/Kernel, за да направите това, изберете елемента от менюто „1. разопаковайте dir". Ако изберете елемент от менюто „2. Pack dir", тогава изображението ще бъде създадено от данните, намиращи се в папката Pack/Kernel.

За да отмените операцията, изберете елемента от менюто „3. връщане". Това ще ви върне към менюто "Команди на ядрото".

3.5. Системно меню.

За да продължите към обработката на системния образ, изпълнете командата "3-System". Това ще ви отведе до менюто "Системни команди".

Менюто за обработка на системни изображения изглежда така:


* Системни команди: *
* ——————————————— *
* 1 пакет yaffs * 2 пакета yaffs *
* 3-pack ext3 * 4-pack ext3 *
* 5 пакета ext4 * 6 пакета ext4 *
* 7-sparse към ext4 * *
* * *
***************************************************
*8-Връщане*
***************************************************
Моля, изберете команда:

3.5.1. Разглобяване на системен образ от тип yaffs.

Командата "1" разопакова системни изображения от типа yaffs в папката Unpack/System.

3.5.2. Изграждане на системен образ от тип yaffs.

С команда "2" се пакетират системни образи от тип yaffs. Това ще изведе менюто за избор на източник на данни.

**************************
* Избор на изходно изображение: *
* 1. Разопаковайте директорията *
* 2. Pack dir *
* 3. Връщане *
**************************
Моля, изберете източник:

Имате възможност да сглобите изображение от разопаковано изображение, намиращо се в папката Unpack / system, за това изберете елемента от менюто „1. разопаковайте dir". Ако изберете елемент от менюто „2. Pack dir", тогава изображението ще бъде създадено от данните, намиращи се в папката Pack / system.

За да отмените операцията, изберете елемента от менюто „3. Назад" и ще се върнете към предишното меню "Системни команди".

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

Командата "3" разопакова системни изображения от типа ext2-ext3 в папката Unpack/System.

3.5.4. Изграждане на системен образ от тип ext3.

Командата "4" изгражда образа на системата от тип ext2-ext3. Опаковането се извършва подобно на т. 3.5.2. само изходното изображение ще бъде от тип ext3.

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

Командата "5" разопакова системни изображения от типа ext4 в папката Unpack/System.

3.5.6. Изграждане на системен образ от тип ext4.

Командата "6" изгражда изображение на системата тип ext4. Опаковането се извършва подобно на т. 3.5.2. само изходното изображение ще бъде от тип ext4.

3.5.7. Конвертиране на компресирано рядко изображение в ext4.

Командата "7" преобразува (преобразува или прекодира) компресирани изображения от разреден тип в изображения от тип ext4 (аналогично на операцията simg2img).

3.5.8 Връщане към главното меню.

Команда "8" връща към главното меню на инструмента.

3.6. Меню с други команди.

За да преминете към изпълнението на други команди, изпълнете командата "5-Други команди". Това ще ви отведе до менюто „Други команди“. Менюто за изпълнение на други команди изглежда така:

**************************
* Други команди: *
* —————- *
* 1-Init SuperUser *
*2-Изчислете md5*
* *
**************************
*3-връщане*
**************************
Моля, изберете команда:

Команда "1" инициализира SuperUser в образа на системата, команда "2" изчислява контролната сума на файловете. Команда "3" връща към главното меню на инструмента.

3.6.1. Инициализация на суперпотребител.

При инициализиране на SuperUser ще се появи менюто за избор на източник:

**************************
* Избор на начален източник: *
* 1. Разопаковайте директорията *
* 2. Pack dir *
* 3. Връщане *
**************************
Моля, изберете източник:

Имате възможност да инициализирате разопакованото изображение, намиращо се в папката Unpack/system, за да направите това, изберете елемента от менюто „1. разопаковайте dir". Ако изберете елемент от менюто „2. Pack dir", тогава изображението, намиращо се в папката Pack / system, ще бъде инициализирано. За да отмените операцията, изберете елемента от менюто „3. връщане".
Инициализирането се извършва чрез копиране на необходимите файлове (su и SuperSU.apk) в разглобеното изображение System.img. За да получите Root достъп, трябва:

- разопаковайте образа на системата, като използвате командата "3" от главното меню
инструменти или поставете разопакованото изображение в папката Unpack (или Pack) / System /;
- изпълнете командата "1-init SuperUser" от менюто "Други команди".

След флашване на изображението System.img ще имате Root достъп във вашето устройство. Ако се използват файлове с различна версия за получаване на Root достъп на вашето устройство, тогава трябва само да актуализирате (замените) файловете su и SuperSU.apk в папката App/.

3.6.2. Изчисляване на контролна сума.

За да изчислите контролната сума на файл или файлове, поставете ги в папката Pack/md5/. След изпълнение на командата „2-Calculate md5“, контролна сума, изчислена с помощта на алгоритъма md5, ще бъде добавена към всички файлове, намиращи се в папката Pack / md5. Обработват се само файлове без разширение или с разширение .img, .tar, .zip.

3.7. Инициализация.

За да извършите инициализация, изпълнете командата "6-init Tools". Това ще създаде всички структури на папки, необходими за работата на MTwinTools и ще копира входните изображения работна папкаРазопаковане/Фърмуер/Изображение.

3.8. Пречистването означава.

За да почистите работната зона, въведете "7-CLEAN". В този случай ВСИЧКИ допълнителни папки заедно със съдържанието ще бъдат изтрити, инструментът MTwinTools ще излезе и ще се върне във формата, която е имал веднага след инсталирането.

3.9. Изход.

Наберете "8-Изход", за да излезете. Това ще излезе САМО от продукта без никакво почистване.

Android фърмуер, т.е. записването на определени файлови изображения в съответните секции от паметта на устройството с помощта на специален софтуер на Windows, който почти напълно автоматизира процеса, далеч не е най-трудната процедура от гледна точка на потребителя. Ако използването на такива инструменти е невъзможно или не дава желания резултат, Fastboot спасява ситуацията.

За да флашнете устройство с Android чрез Fastboot, ще ви трябват познания за конзолните команди на едноименния режим на работа на устройството, както и известна подготовка на смартфон или таблет и компютър, използван за операции.

Поради факта, че в режим на бързо зареждане манипулациите със секциите на паметта на устройството всъщност се извършват директно, когато използвате метода на фърмуера, описан по-долу, е необходимо известно внимание и внимание. В допълнение, следването на стъпките по-долу вероятно трябва да се препоръчва само ако няма друг начин за флашване на фърмуера.

Потребителят извършва всяко действие със собствените си устройства с Android на собствена опасност и риск. За възможни негативни последици от използването на методите, описани на този ресурс, администрацията на сайта не носи отговорност!

обучение

Точното изпълнение на подготвителните процедури предопределя успеха на целия процес на мигане на устройството, така че изпълнението на описаните по-долу стъпки може да се счита за предпоставка преди извършване на операции.

Инсталиране на драйвери

Архивиране на системата

Ако има и най-малка възможност, трябва да се създаде пълно архивиране на съществуващите секции от паметта на устройството преди мигане. Необходимите стъпки за създаване на резервно копие са описани в статията: Как да архивирате устройство с Android преди флашване

Изтегляне и подготовка на необходимите файлове

Тази добавка ви позволява да извършвате всички операции от примерите, описани по-долу, в полуавтоматичен режим и да не прибягвате до ръчно въвеждане на команди в конзолата.

Рестартиране на устройството в режим на зареждане

1. За да може устройството да приема команди, изпратени от потребителя чрез Fastboot, то трябва да се рестартира в съответния режим. В повечето случаи е достатъчно да изпратите специална команда чрез adb към устройство с активирано USB отстраняване на грешки:

adb рестартиране на буутлоудъра

2. Устройството ще се рестартира в режима, необходим за фърмуера. След това проверяваме правилността на връзката с помощта на командата:

устройства за бързо зареждане

3. Рестартирането в режим на бързо зареждане може да се извърши и чрез съответния елемент в (" Рестартирайте»).

4. Ако горните методи за прехвърляне на устройството в режим fastboot не работят или не са приложими (устройството не се зарежда в Android и не е включено в възстановяването), трябва да използвате комбинацията от хардуерни ключове на самото устройство. За всеки моделна гаматези комбинации и реда на натискане на бутоните са различни, за съжаление няма универсален начин за влизане.

Само за пример можете да разгледате продуктите на Xiaomi. В тези устройства зареждането в режим fastboot се извършва чрез натискане на бутона " Сила на звука-" и докато го държите, клавишите " Храна».

Още веднъж отбелязваме, че при други производители методологията за влизане в режим fastboot с помощта на хардуерни бутони и техните комбинации може да се различава.

Отключване на буутлоудъра

Производителите на определен брой устройства с Android блокират възможността за управление на секциите на паметта на устройството чрез заключването на буутлоудъра. Ако устройството има заключен буутлоудър, в повечето случаи флашването му чрез fastboot не е възможно.

За да проверите състоянието на буутлоудъра, можете да изпратите командата към устройството в режим на бързо зареждане и свързано към компютъра:

fastboot oem информация за устройството

Но отново трябва да отбележим, че този метод за определяне на състоянието на блокиране не е универсален и е различен за устройства от различни производители. Това твърдение важи и за отключването на буутлоудъра - процедурата за извършване на процедурата е различна за различните устройства и дори за различните модели от една и съща марка.

Как да отключите буутлоудъра

  • Как да отключите буутлоудъра (Bootloader) - HTC
  • Как да отключите буутлоудъра (Bootloader) - Nexus
  • Как да отключите буутлоудъра (Bootloader) - Sony
  • Как да отключите буутлоудъра (Bootloader) - Xiaomi
  • Как да отключите Bootloader - Huawei
  • Как да отключите буутлоудъра (Bootloader) - LG

Записвайте файлове в дяловете на паметта на устройството

След като завършите подготвителните процедури, можете да продължите към процедурата за запис на данни в секциите на паметта на устройството. Още веднъж проверяваме правилността на изтеглянето на файлове с изображения и / или zip пакети и тяхното съответствие с устройството, което се флашва.

внимание! Флашването на неправилни и повредени файлови изображения, както и изображения от друго устройство в устройството, в повечето случаи води до невъзможност за зареждане на Android и/или други негативни последици за устройството!

Инсталиране на zip пакети

За да запишете на устройството, например, OTA актуализации или пълен набор от софтуерни компоненти, разпространявани във формата *.zip, се използва командата fastboot:

актуализация

1. Уверяваме се, че устройството е в режим на бързо зареждане и е правилно разпознато от системата, след което почистваме дяловете " кеш памет" и " данни". Това ще изтрие всички потребителски данни от устройството, но в повечето случаи това е необходима стъпка, тъй като ви позволява да избегнете много грешки по време на фърмуера и по-нататъшната работа. софтуер. Изпълняваме командата:

бързо стартиране -w

2. Записваме zip-пакета с фърмуера. Ако това официална актуализацияот производителя се използва командата:

fastboot актуализация update.zip

В други случаи използвайте командата

fastboot flash update.zip

3. След появата на надписа " завършен. общо време….» Фърмуерът се счита за завършен.

Записване на img изображения в секции на паметта

В много случаи търсенето на фърмуер във формат *.zipможе да бъде трудно за изтегляне. Производителите на устройства не са склонни да публикуват своите решения онлайн. В допълнение, zip файловете могат да бъдат флашнати чрез възстановяване, така че целесъобразността на използването на метода за писане на zip файлове чрез fastboot е под въпрос.

Но възможността за мигане на отделни изображения в съответните секции, по-специално " обувка», « система», « потребителски данни», « възстановяване”, и т.н. чрез Fastboot при възстановяване на устройството след сериозни софтуерни проблеми, може да спаси ситуацията в много случаи.

За да флашнете отделно img изображение, използвайте командата:

fastboot флаш partition_name file_name.img

1. Като пример, нека напишем раздел за възстановяване чрез fastboot. За мигане на изображение възстановяване.imgв съответния раздел изпратете командата в конзолата:

fastboot флаш възстановяване recovery.img

2. Други секции се мигат по подобен начин. Записване на файл с изображение в " Обувка»:

fastboot флаш зареждане boot.img

« Система»:

fastboot флаш система system.img

И по същия начин всички останали раздели.

3. За партиден фърмуер, три основни секции наведнъж - " обувка», « възстановяване" и " система" можете да използвате командата:

4. След като завършите всички процедури, устройството може да се рестартира в Android директно от конзолата, като изпратите командата:

fastboot рестартиране

По този начин фърмуерът се произвежда с помощта на команди, изпратени през конзолата. Както можете да видите, подготвителните процедури отнемат повече време и усилия, но ако се извършват правилно, записът на секциите от паметта на устройството е много бърз и почти винаги безпроблемен.