Cum să-ți faci propriul firmware din stoc. Necesar pentru crearea firmware-ului Android din codul sursă. Editare fără a utiliza un computer

Salut Habr!

În urmă cu câțiva ani, când am fost introdus pentru prima dată în Android, am auzit de la un coleg de muncă că Android oferă posibilitatea de a instala firmware modificat sau făcut în casă. Sincer, atunci eram departe de asta. Și chiar și acum jumătate de an abia mă interesau astfel de lucruri. În adâncul inimii mele, eram sigur că ceea ce făcea producătorul era deja destinat utilizării normale.

Imaginează-ți dezamăgirea mea când am achiziționat un telefon din Regatul Mijlociu, unde setările din fabrică erau interzise folosind Google, Skype, Facebook și alte aplicații. În principiu, puteam închide ochii la unele lucruri, dar când telefonul meu nu presupunea folosirea unui cont postări Google- Am promis că o să-mi dau seama cu siguranță, indiferent de ce mi se întâmplă.

A trecut o jumătate de an și firmware-ul meu personalizat este folosit cu succes în toată lumea.

Această serie de articole va discuta despre cum să faci programare inversă pentru Android, să implementezi patch-uri, modificări și modificări.

Preambul

Asa de! Să definim mai întâi conceptele care vor fi folosite în dat articol. Înțelegerea ta obișnuită, totuși, poate fi foarte diferită.

Plasture- modificarea sau înlocuirea celor existente codul programuluiîn scopul modificării algoritmului programului.
Maud- de regulă, adăugarea de funcționalități suplimentare la codul programului existent fără a schimba algoritmul.
Ajustare fina- îmbunătățirea funcționalității programului pentru a facilita accesul la parametrii sistemului.

De asemenea, vreau să remarc că toate exemplele vor fi luate pentru telefon HTC, dar asta nu înseamnă asta aceasta informatie nu poate fi folosit pe alte telefoane.

Pregătirea mediului

Mă pot descurca fără instrucțiuni detaliate despre cum să utilizez acest sau acel software. Dacă sunteți interesat de acest articol și ați citit până aici, atunci sper că sunteți deja un utilizator experimentat și aveți experiență în utilizarea sau cel puțin experimentarea în acest domeniu. Instrucțiunile, articolele și rezultatele testelor sunt complete acces deschis, totuși, ca pe Habré. Mă voi descurca și fără să descriu niște termeni, altfel articolul se va dovedi a fi foarte lung și plictisitor. Vom scrie doar la obiect. Sunt sigur că ești miercuri de multă vreme. Dacă nu, atunci vă sugerez să îl descărcați și să îl instalați.

1 . Android SDK. Acesta este un mediu de dezvoltare a aplicațiilor pentru Android. Pentru a face modificări, cu siguranță va trebui să ne verificăm codul programului. Mediul de dezvoltare este cel mai bun pe care îl putem folosi.
2 . Android Bucătărie . Acest utilitar vă va permite să lucrați cu imagini ale partițiilor de sistem ale firmware-ului oficial sau neoficial.
3 . JD-GUI. Decompilator de cod de program limbajul Java. Aș dori să notez imediat că acesta este cel mai bun decompilator în ceea ce privește ușurința în utilizare.
4 . DJ Java Decompiler. Un alt decompilator, sau dezasamblator, cum le place unii să-l numească, al codului de program în limbajul Java. Nu este convenabil de utilizat, dar analizează cod pe care uneori JD-GUI nu îl înțelege.
5 . smali. Un alt dezasamblator, dar de data aceasta cod dalvik. smali este necesar pentru dezasamblare, iar backsmali este necesar pentru asamblarea codului.
6 . dex2jar. Un utilitar pentru conversia fișierelor executabile de cod Dalvik.

Conversie de firmware

Desigur, firmware-ul pe care îl aveți pe telefon de la producător este optimizat pentru a reduce consumul de energie. Pentru ca firmware-ul să fie modificat, acesta trebuie convertit într-un format care să permită modificarea codului. Android Kitchen este folosit pentru aceasta. Desigur, o poți face cu mâinile tale, așa cum am făcut înainte, până când am găsit această „bucătărie”. Puteți citi pe Internet cum să eliminați zona de sistem din telefon, să instalați mediul și să creați firmware-ul DEODEX. Dacă nu înțelegi deja nimic, cred că merită să amâni să citești acest articol până când vei dobândi suficientă experiență.

După ce firmware-ul a trecut de la o formă optimizată (ODEX - cod executabil dalvik optimizat, dacă memoria îmi servește corect) la DEODEX (adică NU optimizat), totul fișiere executabile gata de modificare.

Modificări directe

Crearea de patch-uri
După cum am spus deja, telefonul meu a fost inițial interzis să folosească Google. Ei bine, chiar dacă crack, nu poți merge la Playstore, cont neconfigurat carte de telefoane Nu prea se sincronizează. De ce ai nevoie de un astfel de Android? După ce am săpat mult timp în logcat-ul dispozitivului în sine, am găsit intrări care spuneau că utilizarea Google este interzisă. Cel mai incomod lucru la Android este că vezi jurnalul, dar nu știi ce aplicație de sistem îl produce. Ca să găsesc de unde cresc picioarele, a trebuit să curăț totul aplicații de sistem la codul Java dezasamblat. A durat mult, dar încă folosesc munca depusă atunci când analizez și caut codul cerut. Pașii pentru obținerea unor astfel de instrumente sunt următorii:
1 . Faceți DEODEX din toate firmware-urile
2 . Noul dumneavoastră firmware DEODEX va trebui să fie asamblat și afișat pe telefon. Cum se face acest lucru este subiectul unui alt articol.
3 . Din fiecare fișier aflat în /system/framework, extrageți fișierul classes.dex și convertiți-l în JAR folosind dex2jar.
4 . Deschideți fiecare JAR rezultat în JD-GUI și salvați-l din nou în codul sursă
5 . Despachetați codul sursă din arhivă.

În cele din urmă, am ajuns să am atâtea foldere câte fișiere JAR erau în /system/framework și fiecare folder avea o structură de cod sursă Java.
Prin simple manipulări am găsit rapid locul care a generat intrări în logcat.

Nu vom lua în considerare întreaga logică a interdicției, deoarece pentru fiecare caz este alta poveste. A trebuit să petrec câteva ore înainte de a găsi unde s-au făcut verificările, am construit o diagramă bloc a algoritmului în cap și am înțeles unde să merg pentru a „strica” puțin algoritmul.

S-a dovedit a fi simplu. Există o subrutină care, pe baza unor constante prestabilite, atunci când a fost contactată, răspundea dacă telefonul aparține sau nu Chinei.

Codul era în dosar HTCExtension.jar, iar clasa care conținea această subrutină era în

Unboxing și analiză dosarul original
1 . În primul rând, trebuie să luăm fișierul DEODEX JAR original, care este responsabil pentru partea de cod de care avem nevoie. În cazul nostru HTCExtension.jar.
2 . Deschideți cu orice arhivator și scoateți classes.dex de acolo
3 . Utilizați convertorul dex2jar pentru a-l converti într-un fișier JAR. Comanda: dex2jar.bat classes.dex
4 . Deschideți fișierul classes_dex2jar.jar rezultat în JD-GUI.
5 . Da, cel mai adesea JD-GUI decompilează codul nu așa cum arată în original, este de înțeles, dar este destul de lizibil. În codul sursă vedem că subrutina verifică parametrii proiectului și flag-ul limbii firmware-ului. În cazul nostru nefericit, TRUE este returnat.
public static boolean isChina() ( if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (F_lag=Htc_PROJECT_flag == 218) || && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) returnează adevărat;
6 . Pentru a face un patch, trebuie să dezasamblam codul Dalvik în sine. Pentru aceasta folosim baksmali. Cel mai convenabil mod este să creați un folder separat și să puneți acolo trei fișiere împreună: HTCExtension.jar, smali.jarȘi baksmali.jar. Dați comanda java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar

Acesta este API-ul dvs versiuni Android. Pentru JB este 16
- folderul în care se află toate cadrele de firmware.

În cazul meu a fost comanda
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . În folderul nostru nou creat, a apărut folderul HTCExtension, iar în el fișierele noastre cu cod Dalvik.
8 . Găsirea fișierului de-a lungul căii \com\htc\util\contacts\BuildUtils$Customization.java si uita-te la codul:
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v16 v1 , v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short/htcjavaflag/HtcBuildFlag, L. ;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297:cond_13:goto_13 return v0 .line 283:cond_14 sget-short v1, Lcom/htcjag/Htcvaflag/Htc-Flag Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if v-eqline v2, v-eq, v. 291:cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297, 0/4 v297, const. metodă
9 . Înfricoșător, nu-i așa? Nimic nu este clar. Dar aceasta este o problemă care se poate rezolva. După ce ați creat mai multe patch-uri proprii și, prin urmare, a câștigat experiență, puteți modifica cu ușurință codul fără instrumente de la terți. În cazul nostru, în acest cod
.prologue const/4 v0, 0x1 atribuie variabilei v0 valoarea 1, adică TRUE. Apoi există tot felul de verificări, iar dacă telefonul nu este chinezesc, atunci valoarea variabilei se schimbă:
.line 297 const/4 v0, 0x0 goto:goto_13
10 . Cel mai simplu mod de a-l salva pe tatăl democrației ruse este să schimbi codul în următorul:
.prologue const/4 v0, 0x0 , adică modificați valoarea variabilei de la 1 la 0. Adică, indiferent de ce, valoarea FALSE ar fi întotdeauna returnată și în JD-GUI codul ar arăta ca public static boolean isChina() ( dacă (( HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); în timp ce ((Flag.Htc_PROJECT_flag == 23)); în timp ce ((&_PROJ.Htc_1) Build == 218) || 2 == HtcBuildFlag Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) returnează false;
11 . Da, metoda va funcționa. Dar nu căutăm căi ușoare – de data aceasta. În al doilea rând, nu este tocmai frumos. As dori un cod de genul
public static boolean isChina() ( returnează fals; )
12 . Cum putem obține codul Dalvik pentru asta? cod sursa A? Pentru începători vom face un mic truc.

Crearea codului Dalvik
1 . Deschideți Android SDK.
2 . Noi creăm proiect nou, iar în singura noastră clasă de test scriem următorul cod
pachet ru.habrahabr.test; test de clasă publică ( public static boolean isChina() ( return false; ) )
3 . Compilăm proiectul nostru și apoi luăm aplicația asamblată din spațiul de lucru.
4 . Am pus aplicația asamblată în folderul în care am eliminat fișierul JAR.
5 . Dați comanda java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Am dezasamblat aplicația nou construită în codul Dalvik.
7 . Deschideți fișierul nostru test.smali și vedeți codul acolo
.method public static isChina()Z .registers 1 .prolog .line 7 const/4 v0, 0x0 return v0 .end method
8 . Gata, codul de corecție este gata.
Rulând un plasture
1 . Codul Dalvik este presărat cu marcaje care indică o linie de cod în fișierul sursă original. Acest lucru este necesar la afișarea erorilor, dacă există, în programul dvs. De asemenea, codul funcționează bine fără a specifica linii.
2 . Stergem liniile cu numerotarea liniilor, copiem si inlocuim metoda (subrutina) din nostru \com\htc\util\contacts\BuildUtils$Customization.java fişier.
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . Salvați fișierul. Da, am uitat să spun, aveți nevoie de un editor normal, de exemplu Notepad++ sau EditPlus. Cui îi place pe care?
Compilarea și construirea unui fișier JAR corectat
1 . Folosind backsmali, ne-am eliminat fișierul JAR și acum trebuie să-l punem la loc.
2 . Dați comanda java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . Fișierul classes.dex apare în folderul nostru
4 . Deschiderea din nou HTCExtension.jar fișier cu un arhivator și înlocuiți-l pe cel existent în acesta clase.dex la cel recent creat.
5 . Asta e, al nostru HTCExtension.jar conține codul de program modificat.
Înlocuirea fișierului original cu unul corectat
De obicei, sunt create scripturi speciale pentru utilizatorii obișnuiți, care sunt înlocuite prin recuperare. Dar nu ne interesează acest lucru. În primul rând, este lung și plictisitor, iar în al doilea rând, noi utilizatori experimentațiși ne putem permite câteva subtilități.

1 . Puteți înlocui fișierul de lucru curent cu următoarele comenzi dacă aveți deja firmware DEODEX și aveți acces root:

Adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard /HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@ [email protected]@classes.dex reporniți

Prima comandă încarcă fișierul corelat pe unitatea flash
A doua comandă deschide shell
A treia comandă oferă acces root
A 4-a comandă montează sistemul în modul citire/scriere
Echipa a 5-a face copie de rezervă fişier
A șasea comandă suprascrie fișierul existent cu cel nou corectat.
A 7-a comandă configurează permisiunile
A 8-a comandă șterge memoria cache
A 9-a comandă repornește dispozitivul.

2 . Vă mulțumim că ați citit până în acest punct, a mai rămas puțin.
3 . După o repornire, noul cod corelat va intra în vigoare.
4 . Dacă codul nu funcționează sau apare o eroare, atunci folosind combinații simple puteți returna copia de rezervă.
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@ [email protected]@classes.dex reporniți

Epilog

Da, unii au considerat că acest articol este prea specific, altora le-a fost greu de înțeles, iar alții l-au găsit inutil. Am evitat în mod deliberat detaliile în profunzime și ilustrațiile despre cum arată totul în direct și în practică. În primul rând, această lucrare va fi ingrată și va da naștere la și mai multe întrebări. În al doilea rând, nu vreau să văd o armată de utilizatori pe forumuri care se plâng că și-au ucis telefonul.

Pentru următorul articol vă voi spune cum să faceți Tweeks. Va exista un exemplu de utilizare a înregistrării automate a apelurilor telefonice folosind instrumente de telefon native. Vă mulțumim pentru atenție.

P.S. Dacă ceva nu este clar sau confuz, pune întrebări - voi fi întotdeauna bucuros să răspund și să explic.

Astăzi, titlul de cel mai popular sistem de operare pentru gadgeturi poate fi acordat în siguranță lui Android. Dar întrebarea cum să faci firmware pentru Android cu propriile mâini apare foarte des printre mulți proprietari de dispozitive și dispozitive mobile. Nu sunt mulțumiți de faptul că actualizările sistemului de operare sunt livrate de cel mult 4 ori pe an.

Acei proprietari care au dispozitiv mobil infectat diverse virusuri. Desigur, firmware de producție cu atât mai bine că a fost testat și cu siguranță va funcționa. Dar dacă este depășit sau nu este satisfăcător dintr-un anumit motiv, tot doriți să îl actualizați. Cum să faci corect și independent firmware-ul fără a încălca munca in continuare dispozitive? Este posibil să creați firmware pentru cei care nu au suficient set standard?

Instrucțiuni de actualizare a firmware-ului

Există un număr mare de dispozitive mobile care funcționează pe baza software-ului Android și există și mai multe versiuni de firmware diferit pentru acestea. Există propuneri oficiale și sunt cele care au fost adunate de proprietarii și admiratorii cutare sau acel gadget. Instrucțiuni pas cu pas firmware universal Android:

  1. Dispozitivul mobil trebuie mai întâi încărcat 100% și conectat la WI-FI. Încărcare completă vă va permite să actualizați complet, fără întrerupere și repetare, firmware-ul Android.
  2. Accesați folderul „Setări”, apoi selectați câmpul „Informații despre dispozitiv”. Uneori, numele din meniu poate fi diferit, de exemplu, „Despre sistem”.
  3. Activați acțiunea corespunzătoare " Actualizare automata sistem” astfel încât în ​​viitor, când versiuni actualizate noul firmware a fost instalat pe gadgetul dvs.
  4. Puteți verifica manual actualizarea. Nu ar trebui să existe probleme la găsirea unei astfel de funcție în setări.
  5. Odată ce dispozitivul detectează actualizarea, vi se va solicita să o instalați. Pentru a o efectua, nu este nevoie să vă conectați la un computer, va fi suficient să utilizați WI-FI.
  6. După instalare, unitatea mobilă ar trebui repornită, după care veți avea la dispoziție o nouă versiune de firmware.

Înainte de a începe procedura, ar trebui să transferați pe alt dispozitiv contactele necesare, fișiere foto și video. Ca urmare a actualizării, toate aceste informații vor fi șterse, lăsând un gadget complet curat cu firmware nou.

Crearea propriului firmware

Să ne uităm la cum să creați firmware pentru Android care să vă satisfacă cerințele personale. Această metodă este perfectă pentru utilizatorii neexperimentați, dar sârguincioși și inspirați. Pentru a obține modificările dorite, nu aveți nevoie de cunoștințe aprofundate de programare, deoarece uneori este suficient să faceți câteva funcții suplimentare sau transforma aspect. Site-ul web special Android Kitchen va ajuta în acest sens, care va fi sursa principală în procesul de creare a firmware-ului personalizat pentru software.

Vă rugăm să rețineți că, ca bază pentru noul firmware, trebuie să importați o versiune deja postată creată de un alt utilizator și nu va fi dificil să o îmbunătățiți și să o modificați.

Pe Android Kitchen trebuie să selectați ceea ce doriți să schimbați:

  • icoane standard;
  • indicator baterie;
  • animaţie;
  • câmp de stare;
  • font;
  • caseta de dialog pentru modificarea volumului;
  • linie de progres și separatoare;
  • ecran de blocare.

Când selectați orice caracteristică, editorul vă va permite să le evaluați imediat prin previzualizarea modificărilor. După ce ați făcut selecția, trebuie să mergeți la câmpul „Încărcare fișier”, unde sunt afișate unele setări. Sunt selectate în mod acceptabil, deci nu este recomandat să le schimbați inutil. În fila „Selectați-vă ROM-ul din lista Kitchen sau încărcați”. al tau fișiere" ar trebui să faceți clic pe "Lista bucătăriei", de unde lista generala Veți putea selecta firmware-ul utilizat. Trebuie să fiți deosebit de atenți aici, deoarece există un anumit risc în alegerea versiunii greșite a software-ului. La minimum, patch-ul nu va putea fi aplicat, iar la maximum, sistemul va opri pornirea și va trebui să faceți ceva pentru a corecta eroarea. intermitent complet aparat.

După aplicarea cu succes, trebuie să mergeți la fila „Rezumat” și să verificați din nou lista modificărilor selectate. Dacă totul este corect, faceți clic pe butonul „Trimite lucrarea la bucătărie”. Tot ce trebuie să faceți este să așteptați ca resursa să ofere un link către arhiva zip, care va conține patch-ul pregătit pentru flash-ul dispozitivului. După ce ați primit patch-ul, trebuie să îl flash prin Recuperare.

Încă o dată, trebuie remarcat faptul că, înainte de a crea firmware pentru un gadget, se recomandă insistent să faceți copii de rezervă, astfel încât să puteți elimina inovațiile fără probleme.

Se întâmplă adesea ca cineva din utilizatorii de Android nu pe placul meu firmware standard smartphone-ul sau tableta lui. De exemplu, din cauza software-ului inutil, care scade rapid, sau pur și simplu nu vă place funcționalitatea unor programe și doriți să le înlocuiți cu altele. Începe căutarea intensificată firmware personalizat, dar nu dau întotdeauna rezultatul dorit. Ce să fac?

Orice firmware poate fi modificat pentru un anumit utilizator

Nu toată lumea știe că firmware-ul poate fi modificat pentru a se potrivi nevoilor dumneavoastră personale. Există mai multe moduri în care se poate face acest lucru, fiecare cu un nivel diferit de complexitate și set necesar unelte. Și, dacă nu știi cum să construiești singur firmware-ul Android, acest articol este pentru tine.

Construiți din sursă

Una dintre cele mai modurile corecte este de a folosi codul sursă publicat de echipele de dezvoltare Google sau Cyanogenmod. Dar, în același timp, această metodă este cea mai dificilă, deoarece pentru a asambla firmware Android din codul sursă, optimizați-l și faceți-l să funcționeze pe dispozitiv specific, trebuie să aveți abilități de programare destul de profunde și să înțelegeți toate complexitățile sistemului de operare mobil și hardware-ul dispozitivului. Aceste cunoștințe nu sunt dobândite într-o zi, așa că în acest articol nu vom descrie această metodă în detaliu.

Modificarea unui fișier existent

Dacă nu sunteți prea versat în toate complexitățile sistemului de operare, dar doriți să schimbați ceva în firmware-ul dvs., cea mai bună soluție va corecta deja. Puteți schimba atât firmware-ul nativ, încorporat, cât și deja schimbat de altcineva. Există o mulțime de firmware personalizat pe Internet și este puțin probabil să vă lipsească cantitatea lor. Așadar, vă prezentăm instrucțiuni de asamblare pas cu pas propriul firmware bazat pe un produs existent.

Editare folosind un computer

Software-ul necesar

Vom avea nevoie de un computer, un dispozitiv, un fișier de firmware și un program special pentru numit Android Bucătărie (cunoscută și ca bucătărie). Fișierul de firmware poate fi găsit pe forumuri specializate, cele mai cunoscute sunt XDA Developers în limba engleză și w3bsit3-dns.com în limba rusă. În secțiunea pentru modelul dispozitivului dvs., puteți găsi link-uri către cel mai popular și mai dovedit firmware, atât stoc oficial, cât și personalizat neoficial.

Apoi, trebuie să instalați bucătăria pe computer. Cel mai bine este să lucrezi pe Linux, dar bibliotecile necesare Poate fi instalat și pe Windows. În acest caz, puteți ieși din situație instalând Cygwin. și urmați instrucțiunile pas cu pas incluse în arhivă. Înainte de aceasta, va trebui, de asemenea, să instalați Platforma Java(JDK) de pe site-ul oficial (https://www.oracle.com/technetwork/java/javase/downloads/index.html pentru Windows) sau în Centru aplicații Ubuntu găsiți și descărcați OpenJDK Java 6 Runtime sau similar (pentru Linux). Al doilea caz de utilizare este instalarea Linux pe mașină virtualăși gestionați procesul prin intermediul acestuia.

Modificarea firmware-ului

Firmware-ul este distribuit cel mai adesea ca fișier cu extensia .img, mai rar ca arhivă ZIP. În ambele cazuri, veți avea nevoie de firmware-ul din folderul de bucătărie instalat pentru a-l putea importa și a începe să lucreze cu el. Kitchen ar trebui să fie instalată pe calea c:/cygwin/home/user/ (când se instalează prin Cygwin) sau Filesystem/home/user/ (când se instalează prin Linux).

  1. Porniți bucătăria prin Cygwin sau un terminal Linux folosind comanda cd kitchen, apoi ./menu.
  2. Despachetați arhiva în bucătărie, așa cum este descris mai sus.
  3. După ce apare meniul programului, mergeți la secțiunea 0. Opțiuni avansate.
  4. După aceasta, va fi prezentată o listă de comenzi pentru modificarea firmware-ului. Alege exact pe cel de care ai nevoie. Puteți adăuga Busy Box, Root, Apps2SD, înlocuiți aplicații stoc, diverse animații, eliberați memoria dispozitivului și multe altele.
  5. După finalizarea manipulărilor, executați comanda 99. Construiți ROM din folderul de lucru în principal dosar de lucru) și luați arhiva ZIP din OUTPUT_ZIP.

Firmware-ul dispozitivului

Puteți să flashați dispozitivul fie printr-un computer, fie fără acesta. În primul caz, trebuie să descărcați programul firmware, de obicei acesta Instrumentul Flash sau Odin, drivere pentru modelul de dispozitiv și pregătiți o arhivă deja corectată.

Când flashați firmware-ul prin Recuperare, va trebui să copiați fișierul în rădăcina cardului de memorie, să porniți dispozitivul în modul Recuperare, să formatați dispozitivul și memoria cache și apoi să instalați firmware-ul din arhivă. După repornire, veți avea firmware-ul pe care l-ați modificat personal.

Editare pe dispozitiv

Cel mai simplu mod dintre toate. Nu am nevoie de niciunul dispozitive suplimentareși manipulare. Tot ce aveți nevoie este un dispozitiv înrădăcinat, o aplicație de rezervă (copie de rezervă Nanroid este cea mai bună) și manager de fișiere cu funcția de schimbare a partiției sistemului.

Schimbarea propriului firmware

  1. Dacă dispozitivul dvs. nu este încă rootat, obțineți-l. Puteți citi cum să faceți acest lucru pe forumuri specializate în secțiunea dedicată special dispozitivului dvs. Cert este că sunt susținute de un număr mic de dispozitive și majoritatea au o procedură individuală.
  2. Instalați backup Nandroid (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=ru) și utilizați-l pentru a face backup pentru sistemul dispozitivului dvs. Salvați-l într-un loc sigur, cum ar fi stocarea în cloud. De ce să creați o copie? Dacă ceva nu merge bine sau ștergeți din greșeală ceva de care aveți nevoie, veți putea returna totul așa cum a fost.

  1. Instalați un manager de fișiere care funcționează cu partiția de sistem de eliminat software inutilși adăugați aplicațiile dvs. Etalonul de aur este Backup din titan.
  2. Selectați aplicațiile pe care doriți să le eliminați și eliminați-le prin managerul de fișiere.
  3. Instalați aplicațiile cu care doriți să le înlocuiți pe cele șterse și utilizați Titanium Backup pentru a le face aplicații de sistem.
  4. Reporniți dispozitivul și bucurați-vă de progres.

Schimbarea firmware-ului terță parte într-o arhivă ZIP

  1. Descărcați fișierul firmware care vă interesează în format .zip.
  2. Instalați un manager de fișiere care poate funcționa cu arhive, de exemplu, ES Explorer sau Comandant totalși despachetați conținutul arhivei.
  3. Eliminați aplicațiile inutile sau adăugați aplicații lipsă, apoi împachetați arhiva înapoi și mutați-o la rădăcina cardului flash.
  4. Folosind backup Nandroid (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=ru) creați o copie de rezervă a sistemului și copiați-o pe o unitate cloud.
  5. Flashați dispozitivul din modul Recuperare.

Concluzie

După cum puteți vedea, asamblarea firmware-ului Android cu propriile mâini nu necesită neapărat foarte mult timp și necesită cunoștințe profunde. Este clar că crearea unei modificări de la zero va fi mult mai dificilă, dar corectarea sau înlocuirea a ceva și ștergerea lui programe inutile Aproape toată lumea o poate face. Sperăm că instrucțiunile noastre v-au ajutat în acest sens.

Ai compilat singur firmware-ul Android? Ce ai schimbat în ea și cum ai făcut-o? Va fi interesant dacă vă împărtășiți feedbackul.

Dacă utilizatorul știe bine cum să flash un telefon și dacă s-a săturat firmware-ul oficial, el își poate crea oricând propria. Acest lucru este foarte ușor de făcut dacă cunoașteți algoritmul procesului, ce se face și cum.

Cum să creați singur firmware pentru Android

Pentru ca firmware-ul să fie de înaltă calitate și telefonul să nu se transforme într-o cărămidă, este important să luați o serie de măsuri pentru a vă pregăti pentru creare Android actualizat. Veți avea nevoie de un computer cu sistem de operareLinux, mai bun decât UBUNTU. Este recomandabil să instalați 64x sistem de biți pentru noile versiuni de Android.

Această adâncime de biți este necesară pentru a schimba firmware-ul versiunilor Android de peste 2.4.

Hard disk-ul trebuie să aibă până la 20 gigaocteți spatiu liber. Acest lucru se face pentru a păstra sursele.

Cu exceptia făcut singur din codul sursă, există o modalitate de a schimba un fișier gata făcut.

Metode de creație

Pentru a face firmware Android din sursă, se recomandă să urmați următorii pași.

  • Instalare UBUNTU. Numai că va produce un firmware bun. Puteți descărca UBUNTU de pe site-ul oficial.
  • Apoi a pregati desktop și eliberați suficient spațiu, așa cum este descris mai sus. Apoi trecem la asamblarea în sine.
  • Instalare program Java.
  • Puteti descarca sursele de pe forumul 4pda.

Avantajul de a vă crea propriul firmware este că vă puteți optimiza Android-ul cât de mult aveți nevoie. Și îl poți salva de asemenea programe preinstalate, care pur și simplu o înfundă și nu sunt folosite. Un alt avantaj este că puteți să flashați singur firmware-ul și să vă actualizați telefonul la orice versiune.

Desigur, editați deja montaj terminat mult mai ușor pentru tine. Pentru aceasta vei avea nevoie de:

  • Instalare UBUNTU OS.
  • Descarca programele andimgtool și rkwintools. Vă vor ajuta să decriptați datele boot.img, recovery.img, system.img. și, de asemenea, împachetați-le.
  • Găsi firmware curat. Principalul lucru este că titlul conține cuvintele ROM. Alegem site-ul de descărcare la discreția noastră, de exemplu desktoplinux.ru sau orice altul.

Realizarea unui firmware de telefon dintr-un fișier gata făcut este, desigur, mult mai ușoară și mai simplă. Acesta este avantajul editării firmware-ului gata făcut.

Instrucțiuni pentru a crea singur firmware-ul Android

Creați firmware Android din surse

Înainte de a începe să creați firmware personalizat fă-o singur, este recomandat să instalezi o mașină virtuală și sistemul de operare Linux pe ea.

Acum trebuie să găsiți firmware-ul pe care îl veți modifica. xda-developers.com – pe acest site veți găsi firmware-ul de care aveți nevoie. Principalul lucru este că au cuvântul ROM în numele lor și sunt curați. Apoi descărcați-l și dezarhivați-l folosind Winrar.

Când deschideți folderul cu fișierele dezarhivate, veți găsi elementele enumerate mai jos:


Lansați Android Kitchen. Lansați prin Linux sau prin programul Cygwin. Dacă rulați pe Linux, atunci introduceți comanda cd kitchen, apoi ./menu.

Acum despachetează programul. Apoi accesați secțiunea 0 sau opțiuni avansate. După ce ați găsit comenzi pentru a îmbunătăți versiunea de Android, faceți clic pe cea care este necesară. Aici adaugi animații personalizate, aplicații, eliberează memorie. După finalizarea pașilor, introduceți comanda 99. Acum apăsați construi ROM față lucru pliant. Tot ce rămâne este să ridici arhiva cu output_ZIP.

Editarea versiunii terminate

După ce am studiat producția de firmware din fișierele sursă, vom analiza acum cum să modificăm fișierul terminat. Pentru a-l edita, trebuie să descărcați fișierul, căutați firmware-ul cu numele: Pure Android 3.0 ROM. Acest nume indică faptul că ea este pură.

După descărcarea fișierului, dezarhivați-l. Dosarele și fișierele din acesta sunt componente ale firmware-ului. Ele sunt de obicei amplasate astfel:

  • Metainf. Aici se află toate datele despre viitorul sistem. certificate, sume de control iar scenariile sunt de asemenea aici.
  • Boot. img. Aceasta este imaginea, astfel încât să puteți descărca firmware-ul și să îl instalați.
  • Pliant sistem. Acesta este Android fără nucleu. Iată toate setările sistemului și câteva dintre utilitățile instalate.

Apoi instalați software. Trebuie să mergeți la dosar / sistem/ aplicația/ și schimbați setul de utilități. Adică, puteți distruge folderul cu utilitarul de care nu aveți nevoie sau, dimpotrivă, puteți instala software-ul necesar. Puteți instala utilități de care va avea nevoie viitorul sistem Android. Pentru a face acest lucru, acestea trebuie să fie deja despachetate. Trebuie doar să trageți tot ce aveți nevoie în acest director și aceste aplicații vor fi preinstalate automat.

Pentru modificări grafice se recomandă să consultați folderul framework/framework-res.apk. Utilizatorul ar trebui să dezarhivească elementul și să introducă acolo două foldere: res/drawable-*, unde își poate încărca pozele și fundalul cu rezoluție .png. Și res/layout-* - fișierele cu rezoluție .xml vor fi atașate aici. După ce manipulările au fost efectuate, trebuie să colectați totul din nou într-un singur fișier.

Modificați animația sau puteți instala unul nou dezarhivând arhiva cu fișierele corespunzătoare. Apoi utilizatorul modifică fișierele și le împachetează înapoi.

Dacă utilizatorul dorește să îmbunătățească performanța propriul smartphone, apoi trebuie sa introduca urmatoarele comenzi: ro.mot.buttonlight.timeout=0 – sa lumineze butoanele dupa pornirea telefonului. debug.sf.nobootanimation=1 – dezactivează animația la pornirea telefonului. Multe dintre ele se află în folderul system/build.prop.

Când toate modificările sunt finalizate, va trebui să le arhivezi cu comanda $ cd ~/rom; zip -r my-rom.zip *.

Editare fără a utiliza un computer

Pentru a edita firmware-ul Android fără a utiliza un computer, proprietarul telefonului trebuie să îl descarce în arhivă. Lansați Total Commander, acest program poate funcționa cu pachete arhivate. Dezarhivați pachetul.

  • Descărcați programul de backup Nandroid de pe site și faceți o copie de rezervă.

Există o altă opțiune - dacă cusătura este în format zip.

În acest caz, procedura este identică. Dar înainte și după proces, trebuie mai întâi să despachetați și apoi să împachetați fișierul firmware fără compresie. Folosind backup Nandroid, facem o copie de rezervă și conectăm dispozitivul prin orice aplicație convenabilă.

Mulți suporturi pentru smartphone și tablete V anumit moment gândindu-mă la cum să flash Android. Necesitatea flash-ului dispozitivului poate apărea din cauza problemelor cu funcționarea gadgetului. De asemenea, are sens să actualizați Android în alte cazuri, de exemplu, pentru a îmbunătăți funcționalitatea sistemului de operare și.

Ce trebuie să faceți înainte de a vă aprinde Android-ul

O abordare incorectă a problemei intermitentului poate duce la probleme serioase cu dispozitivul și, prin urmare, trebuie să vă pregătiți pentru acest eveniment. Înainte de a flashiza Android, trebuie să faceți următoarele:

  1. Înainte de a începe actualizarea sistemului de operare, asigurați-vă că dispozitivul este complet încărcat. Este important să eliminați posibilitatea de oprire. Puteți conecta gadgetul la încărcătorîn timpul procedurii. Dacă tableta sau smartphone-ul dvs. se opresc în timpul unei actualizări de firmware, va avea loc pierderea sistemului și a datelor.
  2. Verificați versiunea sistemului de operare sisteme Android, care este relevant pentru dispozitivul dvs. și, de asemenea, aflați ce firmware este instalat în prezent. Puteți clarifica aceste informații în setările dispozitivului din secțiunea „Despre telefon”. Fiți atenți la versiunea Android, versiunea kernelului și numărul versiunii.
  3. Acum, pe baza acestor date, trebuie să găsiți și să descărcați firmware nou, care se va potrivi pe deplin cu modelul dvs. de smartphone sau tabletă.

Cum să flashezi Android folosind un computer

Trebuie spus că există mai multe moduri de a flash-o pe Android și în acest articol ne vom uita la cele mai comune. Să începem cu intermiterea firmware-ului gadgetului folosind un program special care este preinstalat pe computer. Există multe aplicații care vă permit să instalați pe dispozitiv versiune noua OS, cu toate acestea, am decis să mergem cu programul Fastboot, deoarece este sigur, convenabil și de încredere și este, de asemenea, cel mai potrivit pentru modelul pe care îl vom afișa ca exemplu. Deci, să ne dăm seama cum să reflashăm Android folosind Fastboot.

Notă: programul pentru intermiterea Android ar trebui selectat în funcție de dispozitivul de la producătorul pe care îl utilizați. Vă recomandăm să vă familiarizați cu următoarea listă de programe în funcție de producător:

  1. Samsung - Odin
  2. Lenovo - Instrument Flash
  3. HTC - Fastboot
  4. LG - KDZ Updater
  5. Sony - Flashboot
  6. Nexus - Fastboot.

În primul rând, trebuie să descărcați aceasta aplicație. Cu căutare Probleme cu Fastboot nu va apărea, este suficient să știi cum să-l folosești motoare de căutare, iar astăzi toată lumea poate face asta. Descărcați programul și despachetați-l la rădăcina unității C, astfel încât calea către fișier să arate astfel: C:\Android.


În folderul „Tools” există utilitatile necesare, iar în directorul „Driver” – drivere. Acum trebuie să conectați dispozitivul pe care intenționați să-l reflashați la computer și să instalați driverul. De regulă, dispozitivul găsește automat driverele necesare, totuși uneori acest lucru nu se întâmplă. În acest caz, trebuie să deschideți site-ul web al producătorului smartphone-ului sau al tabletei și să descărcați software-ul. Asigurați-vă că firmware-ul pe care intenționați să îl descărcați este potrivit pentru modelul dvs. de gadget. Firmware-ul trebuie descărcat în format .zip și plasat în folderul Tools, care se află aici: C:\Android.

Înainte de a aplica Android intermitent, trebuie să deblocați bootloader-ul de pe dispozitiv. Proces debloca bootloader-ul va diferi in functie de model specific gadget. Deschideți meniul Start de pe computer, bara de căutare introduceți valoarea „cmd” și selectați programul cmd.exe.


La fereastră Linie de comanda tastați cd C:\Android\Tools. Confirmați comanda apăsând tasta Enter, după care vă veți găsi în directorul „Tools”.


Acum trebuie să introduceți comanda de comandă următorul tip: dispozitive fastboot.


Dacă vi s-a dat un cod de dispozitiv, atunci fastboot v-a identificat smartphone-ul sau tableta și puteți începe să flashați Android-ul. Dacă mesajul „ aşteptând dispozitiv”, trebuie să opriți gadgetul și să instalați driverele. Acum trebuie să introduceți comanda pentru intermitent: fastboot update firmware_file_name.zip După aceasta, va începe intermiterea. Nu uitați să reporniți dispozitivul după finalizarea actualizării sistemului de operare.

Cum să reflashați Android prin recuperare

Un alt mod de a reflash Android este utilizarea recuperare standard sau personalizat (TWRP\CWM). Vom explica mai detaliat ce este recuperarea personalizată mai jos. Pe scurt, acestea sunt firmware-uri neoficiale. Deci, găsiți firmware-ul care vi se potrivește pe Internet, descărcați-l și salvați-l la rădăcină Sistemul de fișiere dispozitivul tau.

Reporniți dispozitivul în modul de recuperare. Procesul de intrare în acest mod poate varia în funcție de modelul specific de tabletă sau smartphone. Cel mai adesea, acest lucru se face folosind o combinație a butonului de pornire și tasta de reducere a volumului. După ce ați intrat în modul de recuperare folosind tastele „sus” și „jos”, trebuie să deschideți secțiunea de instalare a firmware-ului și a corecțiilor și să specificați fișierul firmware descărcat anterior de pe Internet. De obicei, Acest obiect Are următorul nume: „aplicați actualizarea din stocarea externă”, în TWRP – Instalați ZIP, în CWM – „aplicați actualizarea de pe sdcard”.

Urmând instrucțiunile de mai sus, veți începe clipirea, după care trebuie să reporniți gadgetul și să resetați setările din fabrică. Pentru a reveni la setările din fabrică, accesați setările dispozitivului dvs. și accesați secțiunea „Confidențialitate”, apoi faceți clic pe „Resetați setările”. După aceasta, puteți verifica funcționalitatea firmware-ului nou instalat.

Cum să flash Android prin ROM Manager

ROM Manager este conceput pentru a efectua diverse sarcini, de exemplu, puteți utiliza această aplicație pentru a crea o copie de rezervă a sistemului. Apropo, vă recomandăm insistent să efectuați această procedură înainte de a flashiza firmware-ul pentru a restabili datele ulterior. ROM Manager poate fi folosit și pentru a flash-o pe Android.

ROM Manager nu va funcționa dacă nu aveți drepturi root. Drepturi similare pot fi obținute folosind programe speciale, de exemplu, sunt perfecte următoarele aplicații: Kingo Android ROOT, Unlock Root, Framaroot sau Vroot ( instrucțiuni detaliate Aici). În plus, trebuie instalată recuperarea personalizată. Apropo, în esență, folosind ROM Manager, flashezi dispozitivul prin recuperare, dar spre deosebire de opțiunea anterioară, aceasta implică lucrul cu o interfață mult mai convenabilă și mai ușor de înțeles.

Deci, găsiți și descărcați program ROM Administrator. Acum trebuie să descărcați firmware-ul corespunzător pentru dispozitivul dvs. Deschis utilitarul ROM Manager și faceți următoarele:

1. Puneți arhiva .zip a firmware-ului în memoria gadgetului dvs. Android.

2. În meniul ROM Manager, deschideți secțiunea „Instalare ROM de pe cardul SD”.


3. Găsiți arhiva cu firmware-ul și faceți clic pe ea.


4. Apoi, selectați „Reporniți și instalați”. Pentru a putea restaura pe viitor sistem de operare Dacă apare o astfel de nevoie, trebuie să bifați caseta de lângă „Salvați ROM-ul curent”.


5. În fereastra următoare, faceți clic pe „OK”, după care va intra smartphone-ul sau tableta Mod de recuperare iar dispozitivul va începe să clipească.


Ce este firmware-ul Android personalizat?

Firmware-ul se numește personalizat versiuni neoficiale, adică creat de la zero sau modificat. Pentru a le instala, procedura de primire nu este întotdeauna necesară. După cum înțelegeți deja, un astfel de firmware nu are nimic de-a face cu dezvoltatorii oficiali, ci este creat de entuziaști cu scopul de a îmbunătăți sistemul de operare prin adăugarea caracteristici suplimentareși eliminarea erorilor. La prima vedere, poate părea că firmware-ul personalizat oferă avantaje continue și este superior în toate versiuni oficiale. Cu toate acestea, nu toate sunt atât de simple.

Faptul este că adesea un astfel de firmware diferă muncă stabilăși poate cauza probleme cu dispozitivul. Acesta este motivul pentru care, înainte de a vă flashiza Android folosind firmware personalizat, trebuie să studiați recenziile celor care au făcut-o deja. Doar după studiu detaliat poți descărca firmware-ul și începe să-l instalezi. În ceea ce privește instalarea firmware-ului neoficial, opțiunile de mai sus sunt destul de potrivite. În plus, instrucțiuni detaliate pentru instalarea firmware-ului personalizat sunt aproape întotdeauna disponibile pe site-ul web pe care se află firmware-ul.

De asemenea, trebuie spus că intermiterea neoficială Android implică unele diferențe în funcție de dezvoltatorul specific, prin urmare, abordarea flashării firmware-ului va fi diferită. Dacă intenționați să utilizați aplicație specială pentru a flash-ul dispozitivului, vă recomandăm să vă familiarizați cu următoarea listă de programe după producător:

  • Samsung - Odin
  • Lenovo - Instrument Flash
  • HTC - Fastboot
  • LG - KDZ Updater
  • Sony - Flashboot
  • Nexus - Fastboot.

Aici vom încheia acest articol. Sperăm că acum știți cum să flashați Android. Dacă mai aveți întrebări, adresați-le în comentarii sau în secțiunea „adresați-vă unui specialist”.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva