Sistemul de operare Android a fost dezvoltat de creatorii sai, iar ulterior de Google, ca sistem open source. Baza sistemului de operare Android este Linux, iar codul sursă al sistemului de operare în sine se află pe site-ul Android Open Source Project (AOSP). Prin urmare, teoretic, prin descărcarea codului sistemului de operare Android de pe acest site și compilarea acestuia, oricine poate obține un firmware personalizat Android.
De ce este necesar?
Sistemul de operare Android oferă oportunități ample pentru dezvoltatorii de aplicații, iar majoritatea dorințelor clienților pot fi realizate prin dezvoltarea unei aplicații mobile. Cu toate acestea, posibilitățile aplicațiilor mobile sunt limitate - în primul rând, se referă la lucrul cu apeluri și SMS, precum și la interfața aplicațiilor "încorporate" în sistemul de operare.
Încercați să solicitați dezvoltatorilor Android aplicații
Veți primi răspunsul "acest lucru este imposibil", deoarece astfel de sarcini pot fi rezolvate numai prin modificarea firmware-ului dispozitivului. Cu toate acestea, multe dintre aceste sarcini sunt foarte solicitate, în special atunci când se creează dispozitive specializate pentru proiecte corporative. Compania noastră, cu toate acestea, vă poate oferi modalități de a rezolva cu succes aceste probleme, dezvoltând personalizat firmware Android.
Cum a început totul
În versiunile anterioare de Android, toate fișierele de sistem sunt semnate de produse „cheie de sistem“, ceea ce face aproape imposibil de a face modificări în firmware-ul existent al dispozitivului mobil, pentru că trebuie să fi fost în prezența cheii producător le-a depozitat în strict secret. Astfel, singura modalitate de a ocoli limitele sistemului de operare și de a include aplicațiile în sistem sau de a modifica cele existente a fost ansamblul de firmware personalizat Android de la zero. În acest fel, compania noastră a implementat dispozitivul "CitySurf".
Firmware personalizat acum
Începând cu Android 4, semnătura cheilor de sistem a devenit o condiție opțională pentru ca sistemul să dea drepturi de sistem. În același timp, numărul de modele de Android-dispozitive din lume a crescut, astfel încât producătorii de personalizat firmware mai au timp pentru a include suport pentru noile modele de dispozitive, ceea ce face tip de asamblare Cyanogenmod utilizare puțin în viața reală. Astfel, în zilele noastre, pentru a eluda limitările sistemului de operare, este suficient pentru a dezvolta o aplicație care îndeplinește sarcinile cerute, și include în lista „Aplicații preferate“ (setat folosind utilitarul Flash într-o secțiune specială de Android de memorie).
Launcher sau firmware personalizat
Sistemul de operare Android oferă capacitatea de a înlocui aplicația originală pentru shell (lansator). Dezvoltarea lansatorului Android vă permite să rezolvați sarcini, cum ar fi lansarea Android într-un singur mod de activitate (modul chioșc). și, de asemenea, să limiteze numărul de aplicații lansate de utilizator ("modul copil"). Limitarea drepturilor utilizatorilor de a instala și de a rula aplicații este o cerință frecventă atunci când se pregătesc dispozitive destinate utilizării corporative. Lansatorul poate, de asemenea, să ajute la rezolvarea unor astfel de sarcini, cum ar fi delimitarea drepturilor de utilizare a dispozitivului (administrator, utilizator obișnuit, alte roluri) și protecția prin parolă.
Cu toate acestea, un lansator care nu are privilegii de sistem are, de asemenea, limitări și multe dintre sarcinile enumerate mai sus nu pot fi rezolvate prin dezvoltarea unui lansator. În acest caz, trebuie să dezvoltați aplicații Android care au privilegii de sistem și apoi să le includeți în "firmware-ul" dispozitivului.
Procesul de dezvoltare a actualizării firmware-ului
Dezvoltarea aplicațiilor de sistem se realizează pentru un model specific al dispozitivului. În consecință, o copie a dispozitivului este necesară pentru dezvoltare. Procesul de dezvoltare a firmware-ului personalizat (mai exact, modificarea sau firmware-ul de patch-uri) constă în următoarele etape:
- selectarea utilitarelor pentru intermitente și crearea de copii de rezervă (Samsung ODIN, MTK SP Flash Tool etc.)
- instalarea recuperării rădăcinilor și personalizate pe dispozitiv;
- obținerea unei scheme de imagine și sistem de partiționare;
- modificarea sau dezvoltarea efectivă a aplicațiilor care au privilegii de sistem și care satisfac cerințele clientului;
- Testarea aplicațiilor prin scrierea lor în zona de sistem Android;
- pregătirea actualizărilor firmware personalizate (Actualizare OTA);
- pregătirea ghidului de instalare pentru upgrade la dispozitivele clientului.
Rezultatul lucrării este o arhivă cu o modificare a firmware-ului și o instrucțiune simplă pentru instalarea acestuia pe orice număr de dispozitive care nu necesită cunoștințe speciale.
Exemple de sarcini rezolvate prin crearea firmware-ului personalizat
Dispozitiv corporativ - birou mobil
Ecran de monitorizare pentru o conducere corectă
În camioane, un dispozitiv pentru monitorizarea conducerii exacte, urmărirea înclinării rândului, precum și claritatea frânării sau accelerației. Informații despre stilul de conducere au fost afișate pe ecranul dispozitivului Android, în care aplicația a fost lansată în modul chioșc. Dispozitivul a modificat imaginea de încărcare și animația, precum și a fost configurat să încarce sistemul de operare (în loc să afișeze nivelul de încărcare) atunci când alimentarea este pornită.
Chioșc cu firmware personalizat pentru simulator
Pentru a include tableta ca ecran interactiv în simulator, a fost folosită shell-ul Android, care funcționează într-un mod cu o singură sarcină (modul chioșc). Tableta a fost înlocuită cu o imagine de boot și o animație și, de asemenea, a fost configurată să pornească sistemul de operare atunci când alimentarea este pornită.