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!