Hogyan készítsünk egyedi ROM-ot az Android nyílt forráskódú projektjéből

Ha ismeri az androidos telefon gyökeresedését vagy az egyedi ROM-ok letöltését, például a rendkívül népszerű CyanogenMod-ot vagy annak utódját a Lineage OS-t, elképzelhető, hogy vajon hogyan építik az emberek ezeket a ROM-okat? Mennyit fektet egy testreszabott ROM fejlesztése?

Ez az útmutató végigvezeti Önt saját egyedi Android ROM-jának fejlesztésén. Meg kell jegyezni, hogy ez egy hatalmas vállalkozás - ha nulla tapasztalata van a kódolással vagy a Linux terminálok bolondozásával, érdemes elsajátítania néhány tudást az öv alatt, mielőtt belemerülne ebbe a mélypontba. De ha van legalább alapvető elképzelésed ezekről a dolgokról, megpróbálom a lehető legegyszerűbben megmagyarázni a dolgokat, így követheted.

Alapvetően azt csináljuk, hogy letöltjük a nyers Android-forráskódot (AOSP) és módosítjuk kedvünkre. Mivel olyan sok forrásból lehet választani a különböző eszközöket, az útmutató egyszerűen hivatkozni a mester forrás ismert AOSP (Android Open Source Project) .

Az AOSP-val kapcsolatban az a helyzet, hogy a tiszta forráskód nem tartalmazza az eszközspecifikus hardverjogokat. Általános szakemberek szerint az olyan hardverek, mint a fényképezőgép és a GPU, nem fognak „dobozból kifelé” működni, amikor az AOSP-val fejlesztenek. Valójában ezek a hardver bináris fájlok nélkül a készülék még nem is indul.

Ha egy Google márkájú telefonhoz (Pixel, Nexus stb.) Fejleszt, akkor a hardver bináris fájljait közvetlenül a Google-tól találja meg, és ez az útmutató bemutatja, hogyan szerezheti be és hogyan építheti be őket a ROM-ba. Ha azonban márkanévvel ellátott telefonhoz fejlesztesz ROM-ot (Sony, Samsung stb.), Akkor áldd meg a szíved, mert egy kört vársz.

Egyes gyártóknak saját nyílt forráskódú projektjeik vannak, vagy fejlesztési eszközöket fejlesztenek ki a leendő fejlesztők számára, míg más gyártók szorosan fedezik a saját kódjaikat. Íme egy rövid lista a népszerűbb gyártók nyílt forráskódú projektjeiről:

Samsung nyílt forráskódú kiadási központ

Sony Developer World

Lenovo támogatás

Huawei Nyílt Forrás Kiadási Központ

Motorola fejlesztők

Ezzel a módszerrel folytatjuk azt a feltételezést, hogy ROM-ot építünk a legalapvetőbb, vaníliás Android-élmény érdekében, egy Google Pixel eszközhöz. Ezzel az övön aluli tudással önállóan tud elágazni, és elkezdheti fejleszteni az adott gyártó ROM-jának testreszabott verzióit.

Az útmutató követelményei:

  • Android nyílt forráskódú projekt
  • Pixel XL telefon vagy Android emulátor Linuxhoz
  • 64 bites Linux operációs rendszer - Az Ubuntu vagy a Linux Mint a kezdők számára legkedvezőbb diszkók, míg a BBQLinuxot kifejezetten az Android fejlesztők szem előtt tartásával fejlesztették ki.
  • Piton
  • Nagy teljesítményű számítógép (a kód összeállítása sok memóriát és helyet foglal!)

Az építési környezet beállítása

Kezdjük azzal, hogy beállítjuk az Android emulátort a Linux gépen. Függetlenül attól, hogy rendelkezik-e Google Pixel XL eszközzel, az a legbiztonságosabb, ha az új ROM-ot egy Android emulátoron próbálja ki, mielőtt az eszközre villanna. Személyes kedvencem a Genymotion, ezért végigvezetek benneteket az adott emulátor telepítésén. Megtekintheti azonban ezt a „Legjobb Android-emulátorok” útmutatót is, mivel többségük Linux kompatibilitással is rendelkezik.

Látogasson el a Genymotion webhelyre, regisztráljon egy fiókot, ellenőrizze e-mailben, és töltse le a futtatható fájlt a Linux asztalára.

Most nyissa meg a Linux terminált, és írja be:

Chmod + x genymotion-xxxxx.bin (cserélje le xxxx-et a fájlnév verziószámával)

./genymotion-xxxxxx.bin

Nyomja meg az Y gombot a Genymotion könyvtár létrehozásához. Írja be a terminált:

cd genymotion && ./genymotion

Most megkéri, hogy kezdje meg a telepítési folyamatot, ezért csak kattintson a Tovább gombra, amíg el nem jut a Virtuális eszközök hozzáadása ablakhoz. Az Eszközmodell opció alatt válassza a „Pixel XL” lehetőséget, majd fejezze be a telepítést. Ha akarja, kipróbálhatja a virtuális eszközt, alapvetően olyan lesz, mintha egy Pixel XL telefon lenne az asztalon.

Most állítsuk be a Python-t:

$ apt-get install python

Most be kell állítanunk a Java fejlesztőkészletet a Linux gépére. Nyissa meg a Linux terminált, és írja be a következő parancsokat:

$ sudo apt-get update

$ sudo apt-get install openjdk-8-jdk

Most be kell állítania a Linux rendszert az USB-eszközökhöz való hozzáférés engedélyezéséhez. Futtassa a következő kódot a Linux terminálon:

Ez letölti a szükséges 51-android.txt fájlt, amely lehetővé teszi a fent említett USB-eszköz elérését. Nyissa meg a .txt fájlt, és módosítsa úgy, hogy tartalmazza a Linux felhasználónevét, majd helyezze a .txt fájlt a következő helyre: ( root felhasználóként ). Most csatlakoztassa az eszközt a számítógépéhez USB-n keresztül, hogy az új szabályok automatikusan érvénybe lépjenek.

Az Android forrás letöltése

Az AOSP-t a Git üzemelteti, ezért a Repo nevű eszközt fogjuk használni a Gittel való kommunikációhoz.

Először be kell állítanunk egy / bin mappát a saját könyvtárban. Írja be a következő parancsokat a Linux terminálba:

$ mkdir ~ / bin

$ PATH = ~ / bin: $ PATH

Most letöltjük a Repo eszközt, ezért gépelje be a Linux terminált:

$ curl //storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo

$ chmod a + x ~ / bin / repo

A Repo telepítése után most létre kell hoznunk egy üres könyvtárat a munkafájlok tárolására. Írja be ezt a Linux terminálba:

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY

Most konfiguráljuk a Git-et az Ön nevével és e-mail címével - használjon olyan Gmail-címet, amelyet rendszeresen ellenőriz , különben nem fogja tudni használni a Gerrit kód-ellenőrző eszközt.

$ git config –global user.name „Az Ön neve”

$ git config –global user.email [email protected]

Most azt mondjuk Repónak, hogy húzza ki az AOSP legújabb mesterjegyzékét Gitből:

$ repo init -u //android.googlesource.com/platform/manifest

Sikeres végrehajtása esetén üzenetet kap, hogy a Repo inicializálva lett a munkakönyvtárában. Az ügyfélkönyvtárban talál egy „ .repo” könyvtárat is. Tehát most letöltjük az Android forrásfáját:

$ repo szinkron

Az Android forrás kiépítése

Itt játszódnak le az útmutató elején említett hardver bináris fájlok. Térjünk át az AOSP illesztőprogramok oldalára, és töltsük le a Pixel XL bináris fájlokat az Android 7.1.0 (NDE63P) rendszerhez. Töltse le mind a szállító képét, mind a hardver alkatrészeket. Ezek tömörített archívumként érkeznek, ezért bontsa ki őket az asztalra, és futtassa az önkicsomagoló szkriptet a gyökérmappából. Válassza a bináris fájlok telepítését a korábban létrehozott WORKING_DIRECTORY gyökérkönyvtárába.

Most írja be a Linux terminálját:

$ készítsen rablót

$ source build / envsetup.sh

Most kiválaszthatjuk a felépítendő célt, ezért írja be:

$ lunch aosp_marlin-userdebug

$ setpaths

$ make –j4

Ott most forrásból „építettünk” egy Android ROM-ot. Tehát teszteljük az emulátorban, beírva a terminált:

$ emulátor

Játsszon hát egy kicsit az emulátorban. Mint látható, a tisztán vaníliás Android-élmény meglehetősen minimális, és ezért a gyártók az AOSP-t saját igényeikhez igazítják. Szóval lehet villogni ezt a ROM mi most épül a készülékre, ha akart, de anélkül, hogy fejlesztések, tisztán vanília Android élmény lenne egy nagyon unalmas dolog, sőt.

Tehát amit a gyártók általában tesznek az AOSP-vel, az az, hogy elágazik, hozzáadja saját, saját bináris fájljait, testreszabja az UI-t, hozzáad egy boot logót stb. .

Maradjon velünk, mivel az útmutató második része betűtípusok, témák és indító animáció hozzáadásával jár át a ROM-on!