Cum să faci unul din două firmware-uri Android. Un exemplu de utilizare a programului Samsung Root Firmware Replacer. Procesul de obținere a drepturilor root

Utilizatorii experimentați caută adesea cum să flash ei înșiși firmware-ul pentru un dispozitiv Android. Una dintre caracteristicile cheie ale acestui sistem de operare este că vine ca sursă deschisă. Acesta include nucleul, interfața cu utilizatorul, bibliotecile și aplicații cheie, iar toate acestea sunt disponibile gratuit.

Ce este firmware-ul personalizat

Data-lazy-type="image" data-src="http://androidkak.ru/wp-content/uploads/2017/06/protech1-e1498230690613.jpg" alt=" tabletă Android cu instrumente" width="267" height="200"> !} Orice utilizator cu abilitățile tehnice necesare își poate crea propriile sisteme de operare folosind cod sursă Android și instalați-le pe smartphone-uri. Datorită unor astfel de oportunități, au fost deja create multe proiecte non-profit, ai căror participanți dezvoltă distribuții alternative. Ele sunt de obicei numite „firmware personalizat”, dar mai mult definiție precisă V în acest caz, poate fi considerat „firmware de casă”.

În ciuda faptului că utilizatorii au acces la toate materialele necesare, mulți oameni cred că crearea propriului ROM este o sarcină copleșitoare. Succesul în această chestiune va depinde de perseverență și de cât timp o persoană este dispusă să dedice creației.

Pentru a instala firmware personalizat pe Android, trebuie să evaluați amploarea sarcinii viitoare. Dacă nu aveți absolut nicio experiență de codare, capacitatea de a utiliza linie de comandă(pe Linux sau Mac) și nu aveți idee ce este un Makefile, atunci cel mai bine este să renunțați la această idee.

Android este un sistem de operare cu drepturi depline. Este destul de complex și conține multe subsisteme diferite. Crearea unui sistem de operare este plină de satisfacții, dar este și foarte dificilă. Orice modificare pe care doriți să le faceți sistemului de operare stoc va necesita o analiză atentă. Pentru a crea distribuție alternativă, care este radical diferit de predecesorul său, va necesita dedicare și multe ore de muncă grea. Dacă utilizatorul a fost deja nevoit să scrie codul programuluiși are o idee despre ce sunt Makefile și compilatoarele, apoi crearea propriei versiuni a sistemului de operare poate avea succes.

Citeste si: Cum se actualizează versiunea Android pe o tabletă

În teorie, ar fi posibil să se creeze firmware personalizat pentru orice dispozitiv de calcul capabil să ruleze un sistem de operare modern. Dar cel mai bine este să vă limitați la crearea unui mediu software pentru dispozitive cu care sunt combinate în mod ideal sisteme de scurgere. Ca exemplu vom folosi Smartphone Nexus 5X.

Ce este necesar pentru a crea firmware

Data-lazy-type="image" data-src="http://androidkak.ru/wp-content/uploads/2017/06/linux-i-mac-e1498231546463.png" alt="linux și mac" width="300" height="171"> !} Pentru a crea firmware-ul, veți avea nevoie de acces la un computer pornit Bazat pe Linux sau Mac. În ambele cazuri, computerul va fi folosit frecvent, așa că trebuie să vă asigurați că mediul software pe care îl utilizați va funcționa.

Dacă vă creați propriul ansamblu folosind un virtual mașini Linux, atunci cu un grad ridicat de probabilitate nu va putea recunoaște dispozitivul mobil și va refuza să lucreze cu acesta. Dacă nu aveți o sală de operație cu drepturi depline la îndemână sisteme Linux, atunci este mai bine să apelați la un computer Mac.

Pentru a vă crea propriul firmware, veți avea nevoie de 130 GB spațiu pe discși cel puțin 8 GB RAM. Dacă încercați să faceți acest lucru cu 4 GB de RAM, este posibil să întâmpinați multe probleme. Dificultăți similare pot apărea cu 8 GB de RAM, dar cu ajutorul unor trucuri pot fi depășite.

Trebuie să ai răbdare, pentru că creația Compilări Android– acesta este un proces lung. Poate dura mai mult de 24 de ore pentru ca depozitul sursă să se sincronizeze cu mașina dvs. locală. Va mai dura câteva ore pentru a crea o construcție completă. Chiar și după efectuarea unor modificări minore, poate dura 10-20 de minute pentru ca acestea să fie acceptate. Multe vor depinde de echipament, dar nu vă așteptați la asta sistem puternic va finaliza toate procesele în câteva minute.

Versiunea sistemului de operare numită Android Open Source Proiect, nu conține cele obișnuite servicii Google. Ca urmare, aplicații precum Google Play, YouTube, Gmail și Chrome vor lipsi. Din fericire, există deja o modalitate prin care aceste programe pot rula pe firmware personalizat.

Procesul de creare a unei versiuni este de a descărca Android Open Source Project și de a face modificări codului sursă. Google oferă utilizatorilor o documentație excelentă despre cum să creeze un AOSP. Este recomandat să citiți cu atenție aceste instrucțiuni. O greșeală comună pe care o fac mulți utilizatori este aceea că refuză să citească întreaga documentație, limitându-se la doar câteva capitole care par a fi cele mai informative.

Procesul de creație

Conform instrucțiunilor, trebuie să efectuați următorii pași unul câte unul:

  1. Ton mediu software montaj, inclusiv montaj instrumentele necesare pentru dezvoltare și Dezvoltare Java Kit.
  2. Extrageți codul sursă folosind instrumentul Repo.
  3. Ia-ți al tău fișiere binare(unele dintre drivere sunt eliberate doar în formă binară).
  4. Selectați o țintă folosind instrumentul Prânz.
  5. Rulați construcția folosind Make și Jack.
  6. Instalați firmware-ul pe dispozitiv folosind ADB și Fastboot.

Vrei să încerci singur în crearea și editarea firmware-ului pe Android, apoi a programului Samsung Root Înlocuitor de firmware va ajuta la crearea firmware-ului!

Pe scurt despre programul Samsung Root Firmware Replacer și capacitățile acestuia

Cu acest program vei putea:

  • Despachetați firmware-ul Samsung
  • Îmbrăcați firmware-ul
  • ÎN modul automatîncorporați drepturile rădăcină
  • Completați automat firmware-ul cu fișierele dvs
  • Înghețați un proiect și apoi continuați să lucrați la el
  • Împachetați firmware-ul

Componentele și condițiile de funcționare necesare pentru Samsung Root Firmware Replacer

Prezentare generală și descrierea funcțiilor Samsung Root Firmware Replacer pornirea programului

1. Accesați folderul cu programul Samsung Root Firmware Replacer, faceți clic dreapta pentru a deschide în terminal

2. În terminal, introduceți comanda

3. Interfața programului se va deschide în fața ta

4. Dacă ați lansat programul pentru prima dată, apoi executați - Configurare setări

Lucrul cu Samsung Root Firmware Replacer

Paragraf Despachetați firmware-ul *.tar.md5- despachetează firmware-ul, pentru a face acest lucru, mutați fișierul în folder unpack_tar_md5, după care toate fișierele vor fi extrase, iar fișierul factoryfs sau fișierul de sistem va fi mutat în input_img

paragraf Crearea *.img de pe Android (necesită Android)- vă permite să creați firmware din curentul dvs Statele Android. Pentru muncă din acest alineat Trebuie să aveți Android conectat la computer cu depanarea USB activată.

Acest articol are un submeniu

Paragraf Se creează *.img cu firmware original vă permite să schimbați firmware-ul gata făcut, pentru aceasta puteți transfera orice fișier IMGîn folderul input_img.

Acest articol are și propriul submeniu

Un exemplu de utilizare a programului Samsung Root Firmware Replacer

În acest exemplu, creăm firmware cu starea actuală Android

1. Conectați Android la PC

2. Lansați programul

3. Selectați Creați *.img de pe Android (are nevoie de Android)

4. Selectați Eliminați imaginea de pe Android și despachetați img

5. Selectarea partiției din care va fi eliminată imaginea

6. Așteptați 6-7 minute pentru ca imaginea să fie eliminată și transferată pe computer.

Important! Smartphone-ul sau tableta, precum și computerul, trebuie să aibă suficientă memorie pentru a face imaginea. Dimensiunea imaginii poate varia de la 2 MB la 2 GB

7. După ce ați eliminat imaginea, o puteți modifica, dacă este necesar (încorporați Root), o puteți împacheta înapoi, pentru aceasta

8. Selectați pachet proiect în img

9. Specificați dimensiunea și numele firmware-ului.

  • Specificați dimensiunea partiției în acest fel: împărțiți dimensiunea blocului la 1024 și adăugați litera M la rezultat.

  • Numele trebuie să se potrivească cu numele pe care l-ați schimbat

11. De asemenea, nu uitați să copiați nucleul de pe Android, pentru a face acest lucru, utilizați elementul - Eliminați imaginea din Android - boot.img sau zImage

12. După toate manipulările, trebuie să asamblați firmware-ul în TAR.MD5

13 În meniul principal, selectați Pack firmware *.tar.md5

14 Firmware-ul din programul Samsung Root Firmware Replacer este gata, puteți

Orice utilizator Android are propria idee despre cum ar trebui să arate sistemul de operare, ce funcții să îndeplinească și ce set de software ar trebui să fie instalat în el în mod implicit. Cu toate acestea, nu toată lumea știe că crearea propriului firmware nu este atât de dificilă. Pentru a face acest lucru, nu este deloc necesar să înțelegeți nucleul Linux, să puteți compila surse Android sau să înțelegeți cum funcționează un smartphone.

Introducere

Există trei moduri de a crea propriul firmware pentru comunicator Android: 1. Finisarea și compilarea sistemului de operare din surse publicate de Google sau echipa CyanogenMod. 2. Modificarea firmware-ului stoc al comunicatorului. 3. Modificare firmware terță parte creat folosind prima sau a doua metodă.

Prima metodă este cea mai corectă și mai flexibilă, dar necesită adesea o cunoaștere destul de profundă a caracteristicilor Android și abilitatea de a edita sursele de sistem, astfel încât acestea să funcționeze apoi pe dispozitiv. Acest subiect depășește sfera articolului nostru, așa că nu vom lua în considerare asamblarea surselor Android, ci ne vom concentra pe celelalte două metode, sau mai degrabă pe a treia.

Firmware-ul terților (așa-numitele moduri) există pentru aproape orice dispozitiv Android care a fost pe piață de cel puțin o săptămână. De obicei, acestea includ deja toate modificările necesare funcţionare corectă firmware pe comunicator și, prin urmare, reprezintă o platformă excelentă pentru experimentarea sistemului. Ele pot fi modificate aproape dincolo de recunoaștere, pot include orice software în sistemul de operare, pot modifica aspectul acestuia, pot crea multe setări de nivel scăzut folosind un editor de text simplu și manager de fișiere. Acești pași nu necesită cunoștințe profunde ale sistemului de operare și pot fi executați de orice cititor de jurnal.

Alegerea unui subiect de testare

Deci, să presupunem că comunicatorul nostru este deja înrădăcinat și consola de recuperare ClockworkMod este scrisă în zona de pornire, ceea ce vă permite să instalați orice firmware pe dispozitiv fără nicio restricție (am scris despre cum să faceți acest lucru în articolul „Subordonare totală” , publicat în numărul din octombrie al ][ ). Acum dorim să instalăm un alt firmware pe dispozitiv, și nu orice firmware, ci cu propriile noastre modificări, setări și set de software. Prin urmare, avem nevoie de un cadru, și anume firmware-ul altcuiva care să funcționeze stabil pe dispozitivul nostru. De unde o pot lua?

Habitatul principal al tuturor romodelelor este, desigur, forumurile xda-developers.com. Acolo puteți găsi orice pentru comunicatorii care rulează Control iOS,Windows Mobile, Windows Phoneși Android. Deschideți site-ul într-un browser, faceți clic pe secțiunea Forumuri și căutați-vă comunicatorul în listele de forumuri. Apoi, accesați secțiunea corespunzătoare a Android Development și căutați cu atenție lista de subiecte care conțin cuvântul „” în titlu. Este mai bine să găsești niște firmware curat cu un nume precum „Pure Android 2.3 Rom” sau un port CyanogenMod, deși, în esență, orice altul va face (deși poate fi necesar să anulezi modificările autorului). Deschideți subiectul, derulați prin prima postare, găsiți linkul de descărcare undeva la sfârșit și descărcați ROM-ul pe computer.

Acum trebuie să deschideți fișierul firmware. Acest lucru se face folosind cel mai comun dezarhivare:

$ mkdir ~/rom; cd ~/rom $ unzip ../path/to/firmware.zip

Structura generală a directoarelor și fișierele importante

Setul de fișiere și directoare format ca urmare a executării comenzii anterioare este, în esență, sistemul de operare Android și exact în forma în care va fi localizat în memoria NAND a dispozitivului. În funcție de versiuni Androidși imaginația autorului, poate conține diferite seturi de directoare și fișiere, dar conține întotdeauna trei obiecte necesare: META-INF, fișierul boot.img și directorul de sistem.

Primul director conține metainformații despre firmware, inclusiv fișierele certificate de autor, un manifest cu o listă de fișiere și sumele de verificare ale acestora, precum și un script de actualizare care poate crea fișiere noi în memoria NAND, poate modifica drepturile de acces și poate afișa o bară de progres pe care utilizatorii le văd în timpul instalării firmware-ului.

Fișierul boot.img conține o imagine de pornire care include nucleul Linux și imaginea initrd. Poate fi despachetat, dar pentru noi nu este de un folos deosebit, deoarece aproape orice parametrii sistemului poate fi modificat folosind fișierele de setări și sistem de fișiere/proc. Dacă aveți nevoie de un nucleu construit cu parametri speciali, de exemplu cu un planificator BFS activat sau suport NFS, atunci aproape sigur îl puteți găsi pe aceiași dezvoltatori xda și îl puteți flash cu folosind ClockworkMod.


În cele din urmă, directorul de sistem este despre ce este vorba. Conținutul acestui director constituie sistemul de operare sistem Android fără Kernel-urile Linux. Conține tot ceea ce este necesar pentru ca sistemul de operare să funcționeze și, prin urmare, este pur și simplu necesar să-i cunoști structura. Arata cam asa:

  • aplicația- aplicații preinstalate: telefon, calculator, calendar etc.
  • coșul de gunoi-analog cu directoarele /bin și /usr/bin din Linux. Conține diverse componente de sistem utilizate de componentele de sistem de nivel superior. De exemplu, aici este locul mașină virtuală dalvikvm.
  • etc- fișiere de setări. Un analog complet al /etc în Linux, folosit, totuși, numai componentele sistemului. Aplicații Android stocați setările în directorul /data/data.
  • fonturi- fonturi. În mod implicit, conține doar fonturi marca Droid (sau Roboto în Android 4.0).
  • cadru- seturi de clase Java utilizate de sistem și software Android. Există, de asemenea, un fișier framework-res.apk care conține o descriere completă a interfeței sistemului de operare, inclusiv toate fișierele grafice.
  • lib- Biblioteci Linux utilizate de componentele sistemului de nivel scăzut. Un analog al directoarelor /lib și /usr/lib din Linux, include următoarele biblioteci standard, precum libc (deși Android folosește propriul Bionic în loc de Glibc), libz (criptare gzip), libssl și altele.
  • mass-media- fișiere media: tonuri de apel, sunete de notificare, sunete de interfață și fișiere de animație de pornire a sistemului de operare.
  • tts- fișiere necesare pentru ca sintetizatorul de vorbire să funcționeze.
  • usr- un director opțional care conține de obicei fișiere necesare pentru ca software-ul să funcționeze din directorul bin. În esență, un analog al lui /usr/share.
  • vânzător- fișiere furnizate de producătorul dispozitivului. De obicei, conține firmware binar pentru diferite componente hardware, de exemplu un modul Wi-Fi.
  • xbin- un director opțional care conține tot ce nu este inclus în bin. Folosit de obicei pentru depozitare utilități utile, totuși, opțional pentru funcționarea sistemului (sus, editor de text). CyanogenMod îl folosește pentru a stoca instrumente de administrare: bash, ssh, powertop, busybox etc.
  • construi.prop- un fișier care conține informații despre ansamblu, precum și diverse setări de nivel scăzut.

comanda setprop

Setările build.prop prezentate în articol pot fi aplicate și unui sistem care rulează deja folosind comanda setprop:

# setprop debug.sf.nobootanimation 1

Set propriu de software

Directorul /system/app conține tot software-ul preinstalat în firmware. Înlăturând și adăugând pachete în acest director, putem schimba setul de aplicații disponibile imediat. De exemplu, nu este un secret pentru nimeni că lansatorul Android standard (și ADWLauncher în CyanogenMod) este lent și are numeroase deficiențe. OK, să-l înlocuim cu LauncherPro:

$ rm system/app/Launcher.apk $ wget goo.gl/U9c54 -o system/app/LauncherPro.apk

Și asta-i tot. Nu trebuie să instalați nimic, nu trebuie să căutați nicăieri, doar introduceți aplicația dorită în director - și ați terminat. Chiar și numele nu contează, Android însuși va găsi aplicația dorită și o va instala ca ecranul de start. În același mod, puteți introduce orice alt program în firmware sau îl puteți elimina de acolo.

Este util să puneți una dintre aplicațiile în firmware pentru găsirea unui smartphone pierdut (de exemplu, pradă), apoi chiar dacă îl resetați la setările din fabrică, acesta va rămâne în sistemul de operare și va funcționa. De asemenea, puteți înlocui unele software de sistem, de exemplu, adăugați Dialer One în loc de Phone.apk standard sau Go SMS în loc de sms.apk.

Dar aplicațiile de sistem Linux, cum ar fi serverul ssh sau mc? Totul este simplu și aici. Colectați software pentru Android și procesor ARM posibil folosind NDK de la Google, dar majoritatea aplicațiile necesare deja adunate înaintea noastră. De exemplu, dorim să preinstalăm mc în firmware-ul nostru. Accesați xda-developers și căutați cererea Comandantul de la miezul nopții. Pe prima pagină găsim pachetul apk cu programul de instalare și îl despachetăm folosind același dezarhivare:

$cd/tmp; dezarhivați ~/NativnuxInstaller_1.1.apk

Vedem assets/kits/mc-4.7.5.4-arm.tar.jet în lista de fișiere despachetate. Aceasta este o arhivă tar.gz, care este dezambalată la rădăcina sistemului după instalare apk-pachet (mai precis, după instalarea apk-ului, lansarea aplicației și apăsarea butonului Instalare). Îl putem despacheta imediat în firmware-ul nostru și obținem un mc preinstalat:

$ cd ~/rom $ tar -xzf /tmp/assets/kits/mc-4.7.5.4-arm.tar.jet

Acum, pentru a lansa managerul de fișiere pe dispozitiv, trebuie doar să deschideți un terminal și să tastați mc. Alte aplicații pot fi distribuite în arhive zip pentru utilizare intermitent Recuperare ClockworkMod. Este și mai ușor să le plasați în modul dvs. pentru a face acest lucru, trebuie doar să mergeți la rădăcina firmware-ului (în acest caz ~/rom) și să despachetați arhiva folosind unzip.


Aspect

Firmware-ul personalizat este cel mai adesea creat pentru a schimba aspectul Android după bunul plac. Efectuarea acestei operațiuni în Android este, din nou, foarte simplă. Toate setările GUI Cele Android sunt stocate în fișierul framework/framework-res.apk. Poate fi despachetat folosind utilitarul apktool:

$cd~; wget goo.gl/hxz5l $ tar -xjf apktool1.4.1.tar.bz2 $ cd ~/rom/system/framework $ java -jar ~/apktool.jar d framework-res.apk

Ca rezultat, în directorul curent ar trebui să apară un director framework-res care conține toate fișierele pachetului. Cele mai interesante subdirectoare din el sunt res/drawable-* și res/layout-*. Primul conține toate elementele grafice sub formă de fișiere png pt rezoluții diferiteși pozițiile ecranului. De exemplu, drawable-land-mdpi este un director cu resurse grafice pentru ecrane cu rezoluție medie care sunt în poziție peisaj (când ecranul este rotit, sistemul de operare trece la utilizarea altor fișiere). Desigur, orice fișier poate fi editat sau înlocuit cu altul.


Directoarele de aspect conțin descrieri elemente graficeîn format XML (de fapt sunt stocate în format binar AXML, dar apktool le-a convertit în XML obișnuit). Formatul descrierii este destul de simplu și de înțeles, dar este dificil să-l dai seama rapid, mai ales dacă nu știi unde este totul. Prin urmare, vom apela din nou la serviciile locuitorilor forumului xda-developers, care au reușit deja să vină cu o mulțime de modificări diferite pentru interfața grafică Android. Sunt ușor de găsit folosind interogare de căutare„nume_dispozitiv mod cu rezoluție cadru”.

De obicei, astfel de moduri sunt distribuite sub forma unui fișier framework-res.apk gata făcut, pe care îl puteți pune pur și simplu în firmware. Dacă doriți să găsiți diferențe specifice în conținut, atunci modulul poate fi dezambalat și comparat cu framework-res folosind diff:

$ diff -R ~/framework-res \ ~/rom/system/framework/framework-res

Din păcate, în cadrul unui articol nu putem considera măcar o parte structura internă framework-res, deci pentru mai mult informatii detaliate consultați subiectul de forum corespunzător w3bsit3-dns.com.

După ce ați făcut modificări, puteți crea framework-res.apk folosind același apktool. Cu toate acestea, această operație necesită utilitarul aapt inclus. Android SDK, pe care apktool îl folosește pentru a împacheta final fișierul apk. Se poate obține și separat:

$ cd ~/bin; wget goo.gl/tC7k8

Acum puteți construi fișierul:

$ cd ~/rom/system/framework $ java -jar ~/apktool.jar b framework-res $ cp framwork-res/dist/framework-res.apk . $ rm -rf framework-res

Următorul pas este schimbarea animației de încărcare. Este stocat sub formă de fișiere png obișnuite, ambalate în arhiva system/media/bootanimation.zip. Să-l despachetăm:

$ cd /tmp $ mkdir bootanimation; cd bootanimation $ unzip ~/rom/system/media/bootanimation.zip

În interior există un fișier desc.txt care descrie animația în următorul format:

Lățime Înălțime FPS p Comanda Pauză Catalog...

Forma standard a acestui fișier este:

480 800 30 p 1 0 part0 p 0 0 part1

Aceasta înseamnă că imaginea are o dimensiune de 480 x 800, iar rata de cadre (FPS) este de 30 fps. Mai jos este o descriere a primei părți a animației, ale cărei fișiere se află în directorul part0. Se joacă o dată (numărul 1 după p). Următoarea parte (part1) este redată de un număr infinit de ori până când dispozitivul pornește. De obicei, directorul part0 conține imaginile corespunzătoare primei părți a animației, iar part0 conține toate celelalte imagini care sunt redate în buclă. Imaginile în sine trebuie să aibă aceeași dimensiune, iar numele lor trebuie să conțină numere în ordine crescătoare, de exemplu 0001.png, 0002.png etc.

Deoarece animația de încărcare are un format foarte simplu, este destul de ușor de realizat. Este suficient să convertiți videoclipul în imagini png folosind mencoder (în desc.txt trebuie să setați valoarea FPS la 24):

$ mplayer -nosound -vo png:z=9 video.avi

Dar și acest lucru va fi inutil. Membrii forumului xda-developers au creat atât de multe animații încât nu este deloc nevoie să lucrezi cu mâinile tale. Link-uri către animații interesante sunt furnizate la sfârșitul articolului.

Setări de nivel scăzut

Ultimul lucru despre care aș dori să vorbesc în acest articol este editarea setărilor de nivel scăzut. În Android, există un fișier pentru aceasta: system/build.prop, care stochează informații despre compilarea firmware-ului și setările pentru dispozitive specifice. Adăugând anumite linii la acest fișier, puteți modifica funcționarea Androidului, puteți accelera funcționarea acestuia sau puteți reduce consumul bateriei. Mai jos sunt cele mai interesante setări.


  1. Interzicerea descarcarii desktopului din memorie: ro.HOME_APP_ADJ=1

    Opțiunea vă permite să faceți lucrul cu dispozitivul mai convenabil datorită accesului instantaneu la desktop în orice moment. Nu este recomandat pentru dispozitivele cu memorie redusă.

  2. Îmbunătățirea calității fișierelor JPG salvate: ro.media.enc.jpeg.quality=100

    Vă permite să faceți imaginile camerei mai clare, dar crește semnificativ sarcina procesorului.

  3. Dezactivați animația de pornire pentru a accelera încărcarea sistemului de operare: debug.sf.nobootanimation=1
  4. Atribuirea unei părți a lucrării de redare a interfeței GPU-ului: debug.sf.hw=1

    Vă permite să faceți interfața mai rapidă și mai fluidă.

  5. Notificare de blocare modul activ depanare (atunci când este conectat la un computer cu prin USB): persist.adb.notify=0
  6. Remedierea problemei cu un ecran negru care apare după încheierea unui apel: ro.lge.proximity.delay=25 mot.proximity.delay=25
  7. Porniți iluminarea de fundal a tastei de control imediat după pornirea ecranului: ro.mot.buttonlight.timeout=0

Pe lângă toate acestea, mulți utilizatori recomandă și utilizarea următoarelor combinații de steaguri:

  1. Timp de răspuns redus touch screen: debug.performance.tuning=1 video.accelerate.hw=1 windowsmgr.max_events_per_sec=150
  2. Creșterea duratei de viață a bateriei: wifi.supplicant_scan_interval=180 pm.sleep_mode=1 ro.ril.disable.power.collapse=0
  3. Modificari modul 3G: ro.ril.hsxpa=2 ro.ril.gprsclass=10 ro.ril.hep=1 ro.ril.enable.dtm=1 ro.ril.hsdpa.category=10 ro.ril.enable =1 ro.ril.enable.3g.prefix=1 ro.ril.htcmaskw1.bitmask=4294967295 ro.ril.htcmaskw1=14449 ro.ril.hsupa.category=5
  4. Performanță îmbunătățită a rețelei: net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.wifi=4096,87380,256960,4096,256960,4096,16384.buffersize. 4096,87380,256960,4096,16384,256960 net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960 net.tcp.buffersize,256960,87380,256960 net.tcp. , 16384,256960

Toate aceste linii trebuie doar să fie plasate în fișierul system/build.prop și salvate.

Asamblare

OK, am făcut modificările necesare, am implementat aplicațiile noastre, am optimizat sistemul și acum trebuie să creăm o imagine OS pregătită pentru firmware. Utilitarul testsign ne va ajuta în acest sens. Mai întâi ar trebui să împachetați firmware-ul cu folosind fermoarul:

$ cd ~/rom; zip -r my-rom.zip *

Acum trebuie să semnați arhiva pentru ca Recovery să o poată instala:

$ wget goo.gl/OyBBk $ java -classpath testsign.jar testsign \ my-rom.zip my-rom-signed.zip

După aceea, încărcați arhiva my-rom-signed.zip pe cardul de memorie a dispozitivului și opriți dispozitivul. Pentru a intra în Recuperare, porniți dispozitivul în timp ce țineți apăsată tasta de reducere a volumului (procedura poate diferi pentru unele dispozitive).

Acum mergeți la „Instalați zip de pe cardul SD”, apoi la „Alegeți zip de pe cardul SD”, găsiți my-rom-sign.zip pe cardul SD și selectați Da. După finalizarea instalării, selectați „Reporniți sistemul acum”.

Concluzii

Android este o platformă flexibilă, iar acest articol nu descrie toate posibilitățile de modificare. O modificare mai profundă poate include înlocuirea nucleului, schimbarea ecranului de blocare și aplicații standard, activarea unor funcții precum instalarea automată a aplicațiilor pe cardul de memorie, implementarea mecanismului de boot script (/etc/init.d) și multe altele. Despre toate acestea vom vorbi în articolele următoare.

Dacă utilizatorul știe bine cum să flasheze un telefon și dacă s-a săturat de firmware-ul oficial, el își poate crea oricând al său. 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 excepţia 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.

  • Instala UBUNTU. Numai că va produce un firmware bun. Puteți descărca UBUNTU de pe site-ul oficial.
  • Apoi pregăti desktop și eliberați suficient spațiu, așa cum este descris mai sus. Apoi trecem la asamblarea în sine.
  • Instala 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 scăpa și de programele preinstalate care pur și simplu îl î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:

  • Instala UBUNTU OS.
  • Descărcați 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 cu propriile mâini, este recomandat să instalați 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-l prin Linux sau prin programul Cygwin. Dacă rulați pe Linux, atunci introduceți comanda cd kitchen, apoi ./menu.

Acum despachetează programul. Apoi mergeți la secțiunea 0 sau la 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, să căutați firmware-ul cu numele: Pure Android 3.0 ROM. Acest nume indică faptul că 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. Certificatele, sumele de control și scripturile se află, 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 imaginile ș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 să introducă următoarele comenzi: ro.mot.buttonlight.timeout=0 – pentru a ilumina butoanele după 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 arhivați 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.


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ă.

Dar înainte de a intermite, cu siguranță ar trebui să faceți un dump (copie de rezervă) a firmware-ului care este instalat în prezent pe telefon sau tabletă.

Acest lucru este necesar deoarece, dacă există o eroare în timpul creării, dispozitivul poate fi transformat într-o cărămidă sau poate deveni instabil și, prin urmare, va trebui să-l readuceți la starea de funcționare anterioară.

Android Bucătărie

Cel mai simplu mod este să vă conectați la site-ul Android Kitchen. Aici, chiar și un neprofesionist poate crea el însuși firmware-ul pe baza unui fișier gata făcut, alegând în același timp anumite setări pentru pictograme, volum, fonturi, ecran și multe altele. Odată ce alegerea modificărilor a fost făcută, utilizatorul poate selecta doar versiunea de firmware în care este utilizatăîn acest moment

(este important să nu faceți o greșeală aici), în fila „Rezumat”, verificați din nou lista și faceți clic pe butonul „Trimite lucrarea la bucătărie”. Acum trebuie să așteptați rândul dvs. pentru a crea o arhivă cu fișierul firmware, care poate fi apoi încărcat prin Recuperare. Unul dintre cele mai populare, dacă nu și cel mai popular, sisteme de operare pentru dispozitive mobile, fie că este vorba de smartphone-uri, tablete sau alte dispozitive, este fără îndoială Android. Gadget-uri mobile

Există o mulțime de versiuni de firmware care funcționează pe baza acestui software și chiar mai multe versiuni de firmware, atât oficiale de la producător, cât și neoficiale, colectate de amatori sau fani ai unui anumit dispozitiv. Dar se întâmplă, se întâmplă ca unul sau altul firmware să nu ți se potrivească. Motivele pot fi foarte diferite, de la performanță la interfață și multe alte mici nuanțe. Ce să faci în acest caz? Creați singur firmware-ul! Puteți personaliza firmware-ul propriului dispozitiv după cum doriți, puteți modifica multe elemente, animații, pictograme, setări de performanță și de economisire a energiei și așa mai departe. Spațiul de imaginație este incontestabil mare și este imposibil de prezis ce va apărea alegere perfecta

pentru aceasta sau acea persoană. La urma urmei, fiecare se străduiește să personalizeze totul exact pentru ei înșiși.

Creați firmware Android Vom analiza o modalitate de a vă crea propriul firmware, ceea ce este grozav pentru cel mai mult utilizatori experimentați , dar care sunt pe deplin încărcați de entuziasm. Nu este întotdeauna necesar să intri în programarea la nivel scăzut pentru a realiza modificările dorite, foarte des funcțiile necesare sau aspect poate fi schimbat mult mai usor. Doar vizitați site-ul specializat Android Kitchen. Procesul de „gătire” va avea loc în această „bucătărie” noua versiune. Singura avertizare este că noul firmware se va baza pe o versiune existentă creată de altcineva, dar condimentul cu tot felul de îmbunătățiri, modificări și alte „condimente” nu va fi dificil.

După vizitând Android Bucătărie, puteți alege ce trebuie schimbat - indicatorul bateriei, pictogramele sistemului, bara de stare, diverse animații, caseta de dialog pentru modificarea volumului, separatoare și bară de progres, ecran de blocare, fonturi. Atunci când alegeți anumite funcții în „bucătărie”, puteți să previzualizați imediat, în timp real, modificările efectuate pentru a le evalua. După ce au fost făcute toate modificările necesare, accesați fila Încărcare fișier. Există câteva setări disponibile aici, dar sunt optime în mod implicit - nu le modifica decât dacă ești sigur ce faci. În secțiunea „Selectați-vă ROM-ul din lista Kitchen’s sau încărcați a ta fișiere", selectați opțiunea "Lista bucătăriei". Din lista derulantă, selectați firmware-ul utilizat. Fiți atenți - dacă specificați versiunea de software greșită, există o probabilitate mare de eroare, după care, în cel mai bun caz, patch-ul nu va fi aplicat deloc și, în cel mai rău caz, sistemul va opri pornirea și va trebui să fie complet refacă dispozitivul.

Se întâmplă adesea ca unor utilizatori de Android să nu le placă firmware standard smartphone-ul sau tableta lui. De exemplu, din cauza software-ului inutil, din cauza căruia este în scădere rapidă, sau pur și simplu nu-mi place funcționalitatea unor programe și doresc să le înlocuiască cu altele. Începe o căutare intensă de firmware personalizat, dar acestea 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 Android, acest articol este pentru tine.

Construiți din sursă

Una dintre cele mai multe modurile corecte este de a folosi codul sursă publicat de echipe Dezvoltatorii Google sau Cyanogenmod. Dar, în același timp, această metodă este cea mai dificilă, deoarece pentru a asambla firmware-ul Android din codul sursă, a-l optimiza și a-l face să funcționeze pe un anumit dispozitiv, trebuie să aveți abilități de programare destul de profunde și să înțelegeți toate complexitățile sistemul 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 buna solutie o 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 pas cu pas pentru asamblarea propriului firmware pe baza unui produs existent.

Editare folosind un computer

Software-ul necesar

Vom avea nevoie de un computer, un dispozitiv, un fișier de firmware și program special sub 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 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 web oficial (http://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 o mașină virtuală și gestionarea procesului prin intermediul acesteia.


Modificarea firmware-ului

Firmware-ul este distribuit cel mai adesea ca fișier cu extensia .img, mai rar ca arhivă ZIP. În ambele cazuri, va trebui să puneți firmware-ul în folderul de bucătărie instalat, astfel încât să îl poată importa și să înceapă să lucreze cu el. Bucătăria 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 din meniul principal ș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 cache-ul ș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 rootat, o aplicație pentru crearea de copii de rezervă (cel mai bine este backupul Nanroid) și un 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. Păstrați-l într-un loc sigur, cum ar fi stocare î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 Total Commander ș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.

Ți s-a întâmplat vreodată să fi instalat un nou firmware personalizat? Și pare să fie pur și simplu perfect din toate părțile. Rapid, cu cea mai recentă versiune a sistemului, teribil de frumos. Dar dintr-o dată un prieten se laudă că și-a făcut upgrade ieri și îți dai seama că produsul altcuiva este mai frumos, mai rapid, mai gustos, mai dezirabil. Ce să fac?

Răspunsul este simplu - puteți lua și reproiecta firmware-ul după cum este necesar. Înlocuiește diferite elemente din el, adaugă unele dintre animațiile tale proprii sau alte lucruri. De exemplu, doriți o animație de așteptare, un indicator de încărcare sau o bară de progres, ca în captură de ecran, cu posibilitatea de a schimba culorile și formele pentru a se potrivi nevoilor dvs.? Apoi, sub tăietură, vă voi spune cum se poate face acest lucru.

Pentru a vă schimba firmware-ul, primul lucru pe care trebuie să-l faceți este să accesați site-ul de bucătărie http://uot.dakra.lt/kitchen/. Aici va avea loc întregul proces. De fapt, este imposibil să construiți firmware-ul de la zero. Va trebui să iei ca bază creația altcuiva, dar este ușor să o asezonezi cu condimentele tale.

Urmați linkul și apoi totul este simplu. Alegem ceea ce vrem să schimbăm: indicator de baterie, pictograme de sistem și emoticoane, bară de stare, apariția ferestrelor pop-up, animație de așteptare, efect de strălucire la derularea listelor, dialog de modificare a volumului, separatoare în liste, bară de progres, ecran de blocare, ferestre de animație de tranziție , fonturi, butanimation etc.

Mai mult, atunci când alegeți unele opțiuni în bucătărie, este posibil să creați o previzualizare în timp real a modificărilor pentru a vedea care va fi rezultatul.

După ce ați selectat modificările de care aveți nevoie, trebuie să mergeți la fila de încărcare a fișierului. Nu este nevoie să schimbați nimic din setări decât dacă este absolut necesar. Doar în secțiunea „Selectează-ți rom-ul din lista bucătăriei sau încarcă-ți propriile fișiere”, selectează opțiunea „Lista bucătăriei”. Va apărea o listă derulantă în care va trebui să specificați firmware-ul utilizat. Dacă specificați altceva decât al dvs., atunci există o mare probabilitate ca patch-ul generat să nu fie aplicat, sau chiar mai rău, va trebui să-l refașați deoarece sistemul nu va putea porni.

După toate aceste manipulări, accesați fila „Rezumat”, verificați lista modificărilor care au fost planificate și apăsați butonul „Trimite lucrarea la bucătărie”.

În continuare, mergem la pagina http://uot.dakra.lt/pickup/, unde ne așteptăm rândul. De îndată ce sosește, site-ul vă va oferi o arhivă zip cu un patch de firmware proaspăt pregătit, care trebuie să fie flash prin recuperare.

Atenție, înainte de a flashiza firmware-ul, nu uitați să faceți o copie de rezervă a sistemului!

Personalizare fericită!

Dacă sunteți interesat de știri din lumea IT, abonați-vă la materialele site-ului la,.

Acest lucru ne inspiră să scriem materiale noi. multumesc ;)

Și chiar mai jos puteți citi sau lăsa comentarii. Vei derula pagina? Ai ceva de spus?

Comentarii:

teutonic: Și totuși sunt sceptic cu privire la astfel de lucruri. Privind câte probleme au oamenii cu fulgerările regulate, uneori între două versiuni stoc, a pune un astfel de Frankinstein pe oricui, IMHO, este nesigur =) Eu personal nu l-am încercat niciodată... așa că nu voi spune nimic specific, doar observații

Orice utilizator de Android are propria idee despre cum ar trebui să arate sistemul de operare, ce funcții ar trebui să îndeplinească și ce set de software ar trebui să fie instalat în el în mod implicit. Cu toate acestea, nu toată lumea știe că crearea propriului firmware nu este atât de dificilă. Pentru a face acest lucru, nu este deloc necesar să înțelegeți nucleul Linux, să puteți compila surse Android sau să înțelegeți cum funcționează un smartphone.

Introducere

Există trei moduri de a crea propriul firmware pentru un comunicator Android: 1. Finalizarea și compilarea sistemului de operare din surse publicate de Google sau echipa CyanogenMod. 2. Modificarea firmware-ului stoc al comunicatorului. 3. Modificarea firmware-ului terț creat folosind prima sau a doua metodă.

Prima metodă este cea mai corectă și mai flexibilă, dar necesită adesea o cunoaștere destul de profundă a caracteristicilor Android și abilitatea de a edita sursele de sistem, astfel încât acestea să funcționeze apoi pe dispozitiv. Acest subiect depășește sfera articolului nostru, așa că nu vom lua în considerare asamblarea surselor Android, ci ne vom concentra pe celelalte două metode, sau mai degrabă pe a treia.

Firmware-ul terților (așa-numitele moduri) există pentru aproape orice dispozitiv Android care a fost pe piață de cel puțin o săptămână. De obicei, acestea includ deja toate modificările necesare pentru funcționarea corectă a firmware-ului pe comunicator și, prin urmare, reprezintă o platformă excelentă pentru experimentarea sistemului. Ele pot fi modificate aproape dincolo de recunoaștere, pot include orice software în sistemul de operare, pot schimba aspectul acestuia, pot crea multe setări de nivel scăzut folosind un editor de text simplu și un manager de fișiere. Acești pași nu necesită cunoștințe profunde ale sistemului de operare și pot fi executați de orice cititor de jurnal.

Alegerea unui subiect de testare

Deci, să presupunem că comunicatorul nostru este deja înrădăcinat și consola de recuperare ClockworkMod este scrisă în zona de pornire, ceea ce vă permite să instalați orice firmware pe dispozitiv fără nicio restricție (am scris despre cum să faceți acest lucru în articolul „Subordonare totală” , publicat în numărul din octombrie al ][ ). Acum dorim să instalăm un alt firmware pe dispozitiv, și nu orice firmware, ci cu propriile noastre modificări, setări și set de software. Prin urmare, avem nevoie de un cadru, și anume firmware-ul altcuiva care să funcționeze stabil pe dispozitivul nostru. De unde o pot lua?

Habitatul principal al tuturor romodelelor este, desigur, forumurile xda-developers.com. Acolo puteți găsi tot ce aveți nevoie pentru comunicatorii care rulează iOS, Windows Mobile, Windows Phone și Android. Deschideți site-ul într-un browser, faceți clic pe secțiunea Forumuri și căutați-vă comunicatorul în listele de forumuri. Apoi, accesați secțiunea corespunzătoare a Android Development și căutați cu atenție lista de subiecte care conțin cuvântul „” în titlu. Este mai bine să găsești niște firmware curat cu un nume precum „Pure Android 2.3 Rom” sau un port CyanogenMod, deși, în esență, orice altul va face (deși poate fi necesar să anulezi modificările autorului). Deschideți subiectul, derulați prin prima postare, găsiți linkul de descărcare undeva la sfârșit și descărcați ROM-ul pe computer.

Acum trebuie să deschideți fișierul firmware. Acest lucru se face folosind cel mai comun dezarhivare:

$ mkdir ~/rom; cd ~/rom $ unzip ../path/to/firmware.zip

Structura generală a directoarelor și fișierele importante

Setul de fișiere și directoare format ca urmare a executării comenzii anterioare este, în esență, sistemul de operare Android și exact în forma în care va fi localizat în memoria NAND a dispozitivului. În funcție de versiunea de Android și de imaginația autorului, acesta poate conține diferite seturi de directoare și fișiere, dar conține întotdeauna trei obiecte necesare: META-INF, fișierul boot.img și directorul de sistem.

Primul director conține metainformații despre firmware, inclusiv fișierele certificate de autor, un manifest cu o listă de fișiere și sumele de verificare ale acestora, precum și un script de actualizare care poate crea fișiere noi în memoria NAND, poate modifica drepturile de acces și poate afișa o bară de progres pe care utilizatorii le văd în timpul instalării firmware-ului.

Fișierul boot.img conține o imagine de pornire care include nucleul Linux și imaginea initrd. Poate fi dezambalat, dar nu este deosebit de util pentru noi, deoarece aproape orice parametri de sistem pot fi modificați folosind fișierele de setări și sistemul de fișiere /proc. Dacă aveți nevoie de un nucleu construit cu parametri speciali, de exemplu cu un planificator BFS activat sau suport NFS, atunci aproape sigur îl puteți găsi pe aceiași xda-developers și îl puteți flash folosind ClockworkMod.

În cele din urmă, directorul de sistem este despre ce este vorba. Conținutul acestui director reprezintă sistemul de operare Android fără nucleul Linux. Conține tot ceea ce este necesar pentru ca sistemul de operare să funcționeze și, prin urmare, este pur și simplu necesar să-i cunoști structura. Arata cam asa:

  • aplicația- aplicații preinstalate: telefon, calculator, calendar etc.
  • coșul de gunoi-analog cu directoarele /bin și /usr/bin din Linux. Conține diverse componente de sistem utilizate de componentele de sistem de nivel superior. De exemplu, aici se află mașina virtuală dalvikvm.
  • etc- fișiere de setări. Un analog complet al /etc în Linux, folosit, totuși, numai de componentele sistemului. Aplicațiile Android stochează setările în directorul /data/data.
  • fonturi- fonturi. În mod implicit, conține doar fonturi marca Droid (sau Roboto în Android 4.0).
  • cadru- seturi de clase Java utilizate de sistem și software Android. Există, de asemenea, un fișier framework-res.apk care conține o descriere completă a interfeței sistemului de operare, inclusiv toate fișierele grafice.
  • lib- Biblioteci Linux utilizate de componentele sistemului de nivel scăzut. Un analog al directoarelor /lib și /usr/lib din Linux, include biblioteci standard precum libc (deși Android folosește propriul Bionic în loc de Glibc), libz (criptare gzip), libssl și altele.
  • mass-media- fișiere media: tonuri de apel, sunete de notificare, sunete de interfață și fișiere de animație de pornire a sistemului de operare.
  • tts- fișiere necesare pentru ca sintetizatorul de vorbire să funcționeze.
  • usr- un director opțional care conține de obicei fișiere necesare pentru ca software-ul să funcționeze din directorul bin. În esență, un analog al lui /usr/share.
  • vânzător- fișiere furnizate de producătorul dispozitivului. De obicei, conține firmware binar pentru diferite componente hardware, de exemplu un modul Wi-Fi.
  • xbin- un director opțional care conține tot ce nu este inclus în bin. De regulă, este folosit pentru a stoca utilități utile, însă nu sunt necesare pentru funcționarea sistemului (sus, editor de text). CyanogenMod îl folosește pentru a stoca instrumente de administrare: bash, ssh, powertop, busybox etc.
  • construi.prop- un fișier care conține informații despre ansamblu, precum și diverse setări de nivel scăzut.

comanda setprop

Setările build.prop prezentate în articol pot fi aplicate și unui sistem care rulează deja folosind comanda setprop:

# setprop debug.sf.nobootanimation 1

Set propriu de software

Directorul /system/app conține tot software-ul preinstalat în firmware. Înlăturând și adăugând pachete în acest director, putem schimba setul de aplicații disponibile imediat. De exemplu, nu este un secret pentru nimeni că lansatorul Android standard (și ADWLauncher în CyanogenMod) este lent și are numeroase deficiențe. OK, să-l înlocuim cu LauncherPro:

$ rm system/app/Launcher.apk $ wget goo.gl/U9c54 -o system/app/LauncherPro.apk

Și asta-i tot. Nu trebuie să instalați nimic, nu trebuie să căutați nicăieri, doar introduceți aplicația dorită în director - și ați terminat. Chiar și numele nu contează, Android însuși va găsi aplicația de care aveți nevoie și o va seta ca ecran de pornire. În același mod, puteți introduce orice alt program în firmware sau îl puteți elimina de acolo.

Este util să puneți una dintre aplicațiile în firmware pentru găsirea unui smartphone pierdut (de exemplu, pradă), apoi chiar dacă îl resetați la setările din fabrică, acesta va rămâne în sistemul de operare și va funcționa. De asemenea, puteți înlocui unele software de sistem, de exemplu, adăugați Dialer One în loc de Phone.apk standard sau Go SMS în loc de sms.apk.

Dar aplicațiile de sistem Linux, cum ar fi serverul ssh sau mc? Totul este simplu și aici. Puteți construi software pentru Android și procesor ARM folosind kitul NDK de la Google, dar majoritatea aplicațiilor necesare au fost deja asamblate înaintea noastră. De exemplu, dorim să preinstalăm mc în firmware-ul nostru. Accesați xda-developers și căutați Midnight Commander. Pe prima pagină găsim pachetul apk cu programul de instalare și îl despachetăm folosind același dezarhivare:

$cd/tmp; dezarhivați ~/NativnuxInstaller_1.1.apk

Vedem assets/kits/mc-4.7.5.4-arm.tar.jet în lista de fișiere despachetate. Aceasta este o arhivă tar.gz, care este dezambalată la rădăcina sistemului după instalarea pachetului apk (sau mai degrabă, după instalarea apk-ului, lansarea aplicației și apăsarea butonului Instalare). Îl putem despacheta imediat în firmware-ul nostru și obținem un mc preinstalat:

$ cd ~/rom $ tar -xzf /tmp/assets/kits/mc-4.7.5.4-arm.tar.jet

Acum, pentru a lansa managerul de fișiere pe dispozitiv, trebuie doar să deschideți un terminal și să tastați mc. Alte aplicații pot fi distribuite în arhive zip pentru flashing folosind ClockworkMod Recovery. Este și mai ușor să le plasați în modul dvs. pentru a face acest lucru, trebuie doar să mergeți la rădăcina firmware-ului (în acest caz ~/rom) și să despachetați arhiva folosind unzip.

Aspect

Firmware-ul personalizat este cel mai adesea creat pentru a schimba aspectul Android după bunul plac. Efectuarea acestei operațiuni în Android este, din nou, foarte simplă. Toate setările GUI Android sunt stocate în fișierul framework/framework-res.apk. Poate fi despachetat folosind utilitarul apktool:

$cd~; wget goo.gl/hxz5l $ tar -xjf apktool1.4.1.tar.bz2 $ cd ~/rom/system/framework $ java -jar ~/apktool.jar d framework-res.apk

Ca rezultat, în directorul curent ar trebui să apară un director framework-res care conține toate fișierele pachetului. Cele mai interesante subdirectoare din el sunt res/drawable-* și res/layout-*. Primul conține toate elementele grafice sub formă de fișiere png pentru diferite rezoluții și poziții ale ecranului. De exemplu, drawable-land-mdpi este un director cu resurse grafice pentru ecrane cu rezoluție medie care sunt în poziție peisaj (când ecranul este rotit, sistemul de operare trece la utilizarea altor fișiere). Desigur, orice fișier poate fi editat sau înlocuit cu altul.

Directoarele de aspect conțin descrieri ale elementelor grafice în format XML (de fapt sunt stocate în format binar AXML, dar apktool le-a convertit în XML obișnuit). Formatul descrierii este destul de simplu și de înțeles, dar este dificil să-l dai seama rapid, mai ales dacă nu știi unde este totul. Prin urmare, vom apela din nou la serviciile locuitorilor forumului xda-developers, care au reușit deja să vină cu o mulțime de modificări diferite pentru interfața grafică Android. Acestea pot fi găsite cu ușurință folosind interogarea de căutare „framework-res mod device_name”.

De obicei, astfel de moduri sunt distribuite sub forma unui fișier framework-res.apk gata făcut, pe care îl puteți pune pur și simplu în firmware. Dacă doriți să găsiți diferențe specifice în conținut, atunci modulul poate fi dezambalat și comparat cu framework-res folosind diff:

$ diff -R ~/framework-res \ ~/rom/system/framework/framework-res

Din păcate, în cadrul unui articol nu putem lua în considerare măcar o parte din structura internă a framework-res, așa că pentru informații mai detaliate, vă rugăm să consultați subiectul corespunzător de pe forumul w3bsit3-dns.com.

După ce ați făcut modificări, puteți crea framework-res.apk folosind același apktool. Cu toate acestea, această operațiune necesită utilitarul aapt din SDK-ul Android, pe care apktool îl folosește pentru a împacheta în cele din urmă fișierul apk. Se poate obține și separat:

$ cd ~/bin; wget goo.gl/tC7k8

Acum puteți construi fișierul:

$ cd ~/rom/system/framework $ java -jar ~/apktool.jar b framework-res $ cp framwork-res/dist/framework-res.apk . $ rm -rf framework-res

Următorul pas este schimbarea animației de încărcare. Este stocat sub formă de fișiere png obișnuite, ambalate în arhiva system/media/bootanimation.zip. Să-l despachetăm:

$ cd /tmp $ mkdir bootanimation; cd bootanimation $ unzip ~/rom/system/media/bootanimation.zip

În interior există un fișier desc.txt care descrie animația în următorul format:

Lățime Înălțime FPS p Comanda Pauză Catalog...

Forma standard a acestui fișier este:

480 800 30 p 1 0 part0 p 0 0 part1

Aceasta înseamnă că imaginea are o dimensiune de 480 x 800, iar rata de cadre (FPS) este de 30 fps. Mai jos este o descriere a primei părți a animației, ale cărei fișiere se află în directorul part0. Se joacă o dată (numărul 1 după p). Următoarea parte (part1) este redată de un număr infinit de ori până când dispozitivul pornește. De obicei, directorul part0 conține imaginile corespunzătoare primei părți a animației, iar part0 conține toate celelalte imagini care sunt redate în buclă. Imaginile în sine trebuie să aibă aceeași dimensiune, iar numele lor trebuie să conțină numere în ordine crescătoare, de exemplu 0001.png, 0002.png etc.

Deoarece animația de încărcare are un format foarte simplu, este destul de ușor de realizat. Este suficient să convertiți videoclipul în imagini png folosind mencoder (în desc.txt trebuie să setați valoarea FPS la 24):

$ mplayer -nosound -vo png:z=9 video.avi

Dar și acest lucru va fi inutil. Membrii forumului xda-developers au creat atât de multe animații încât nu este deloc nevoie să lucrezi cu mâinile tale. Link-uri către animații interesante sunt furnizate la sfârșitul articolului.

Setări de nivel scăzut

Ultimul lucru despre care aș dori să vorbesc în acest articol este editarea setărilor de nivel scăzut. În Android, există un fișier pentru aceasta: system/build.prop, care stochează informații despre compilarea firmware-ului și setările pentru anumite dispozitive. Adăugând anumite linii la acest fișier, puteți modifica funcționarea Androidului, puteți accelera funcționarea acestuia sau puteți reduce consumul bateriei. Mai jos sunt cele mai interesante setări.

  1. Interzicerea descarcarii desktopului din memorie: ro.HOME_APP_ADJ=1

    Opțiunea vă permite să faceți lucrul cu dispozitivul mai convenabil datorită accesului instantaneu la desktop în orice moment. Nu este recomandat pentru dispozitivele cu memorie redusă.

  2. Îmbunătățirea calității fișierelor JPG salvate: ro.media.enc.jpeg.quality=100

    Vă permite să faceți imaginile camerei mai clare, dar crește semnificativ sarcina procesorului.

  3. Dezactivați animația de pornire pentru a accelera încărcarea sistemului de operare: debug.sf.nobootanimation=1
  4. Atribuirea unei părți a lucrării de redare a interfeței GPU-ului: debug.sf.hw=1

    Vă permite să faceți interfața mai rapidă și mai fluidă.

  5. Blocarea notificării modului de depanare activ (când este conectat la un computer prin USB): persist.adb.notify=0
  6. Remedierea problemei cu un ecran negru care apare după încheierea unui apel: ro.lge.proximity.delay=25 mot.proximity.delay=25
  7. Porniți iluminarea de fundal a tastei de control imediat după pornirea ecranului: ro.mot.buttonlight.timeout=0

Pe lângă toate acestea, mulți utilizatori recomandă și utilizarea următoarelor combinații de steaguri:

  1. Reducerea timpului de răspuns al ecranului tactil: debug.performance.tuning=1 video.accelerate.hw=1 windowsmgr.max_events_per_sec=150
  2. Creșterea duratei de viață a bateriei: wifi.supplicant_scan_interval=180 pm.sleep_mode=1 ro.ril.disable.power.collapse=0
  3. Modificari modul 3G: ro.ril.hsxpa=2 ro.ril.gprsclass=10 ro.ril.hep=1 ro.ril.enable.dtm=1 ro.ril.hsdpa.category=10 ro.ril.enable =1 ro.ril.enable.3g.prefix=1 ro.ril.htcmaskw1.bitmask=4294967295 ro.ril.htcmaskw1=14449 ro.ril.hsupa.category=5
  4. Performanță îmbunătățită a rețelei: net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.wifi=4096,87380,256960,4096,256960,4096,16384.buffersize. 4096,87380,256960,4096,16384,256960 net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960 net.tcp.buffersize,256960,87380,256960 net.tcp. , 16384,256960

Toate aceste linii trebuie doar să fie plasate în fișierul system/build.prop și salvate.

Asamblare

OK, am făcut modificările necesare, am implementat aplicațiile noastre, am optimizat sistemul și acum trebuie să creăm o imagine OS pregătită pentru firmware. Utilitarul testsign ne va ajuta în acest sens. Mai întâi ar trebui să împachetați firmware-ul folosind zip:

$ cd ~/rom; zip -r my-rom.zip *

Acum trebuie să semnați arhiva pentru ca Recovery să o poată instala:

$ wget goo.gl/OyBBk $ java -classpath testsign.jar testsign \ my-rom.zip my-rom-signed.zip

După aceea, încărcați arhiva my-rom-signed.zip pe cardul de memorie a dispozitivului și opriți dispozitivul. Pentru a intra în Recuperare, porniți dispozitivul în timp ce țineți apăsată tasta de reducere a volumului (procedura poate diferi pentru unele dispozitive).

Acum mergeți la „Instalați zip de pe cardul SD”, apoi la „Alegeți zip de pe cardul SD”, găsiți my-rom-sign.zip pe cardul SD și selectați Da. După finalizarea instalării, selectați „Reporniți sistemul acum”.

Concluzii

Android este o platformă flexibilă, iar acest articol nu descrie toate posibilitățile de modificare. O modificare mai profundă poate include înlocuirea nucleului, schimbarea ecranului de blocare și a aplicațiilor standard, activarea unor funcții precum instalarea automată a aplicațiilor pe cardul de memorie, introducerea unui mecanism de script de pornire (/etc/init.d) și multe altele. Despre toate acestea vom vorbi în articolele următoare.

  • Serghei Savenkov

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