ha ismeri az Android telefon gyökerezését vagy az egyedi ROM – ok letöltését, például a rendkívül népszerű CyanogenMod vagy annak utódja, a Lineage OS-t, akkor kíváncsi lehet-hogyan építik az emberek ezeket a ROM-okat? Mennyi munka pontosan megy a fejlődő testreszabott ROM?
ez az útmutató végigvezeti Önt az alapokat a fejlődő saját egyéni Android ROM. Meg kell jegyezni, hogy ez egy hatalmas vállalkozás – ha nulla tapasztalata van a Linux terminálok kódolásában vagy bolondozásában, akkor érdemes némi tudást szereznie az öv alatt, mielőtt belemerülne ebbe a mélybe. De ha van legalább egy alapötlete ezekről a dolgokról, megpróbálom a lehető legegyszerűbben elmagyarázni a dolgokat, hogy követni tudja.
alapvetően a nyers Android forráskódot (AOSP) töltjük le, és tetszés szerint módosítjuk. Mivel olyan sok forrás közül lehet választani a különböző eszközökhöz, ez az útmutató egyszerűen az AOSP (Android Open Source Project) néven ismert fő forrásra hivatkozik.
az AOSP-vel kapcsolatban az a helyzet, hogy a tiszta forráskód nem tartalmaz eszközspecifikus hardver tulajdonságokat. Laikus szempontból az olyan hardverek, mint a fényképezőgép vagy a GPU, nem működnek “a dobozból”, amikor az AOSP-vel fejlesztenek. Valójában a készülék nem is indul el ezen hardveres bináris fájlok nélkül.
ha Google márkájú telefonra (Pixel, Nexus, stb.) fejleszt, a hardveres bináris fájlokat közvetlenül a Google-tól találja meg, és ez az útmutató végigvezeti Önt a ROM-ba történő beszerzésén és felépítésén. Azonban, ha a fejlődő ROM egy márkás telefon (Sony, Samsung, stb) … Nos, áldja meg a szívét, mert te egy kört.
egyes gyártók saját nyílt forráskódú projektekkel vagy fejlesztőeszközökkel rendelkeznek a leendő fejlesztők számára, míg más gyártók szorosan fedik le saját kódjaikat. Itt egy rövid lista a nyílt forráskódú projektek a népszerűbb gyártók:
Samsung Open Source Release Center
Sony Developer World
Lenovo Support
Huawei Open Source Release Center
Motorola Developers
azzal, hogy az útból, folytassuk a feltételezés építünk egy ROM a legalapvetőbb, vanília Android tapasztalat, a Google Pixel eszköz. Ezzel a tudással az öv alatt képes lesz önállóan elágazni, és megkezdheti az adott gyártó ROM-jainak testreszabott verzióinak fejlesztését.
az útmutató követelményei:
- Android nyílt forráskódú projekt
- Pixel XL telefon vagy Android emulátor Linux számára
- 64 bites Linux operációs rendszer-az Ubuntu vagy a Linux Mint a leginkább kezdőbarát disztrók, míg a BBQLinux – ot kifejezetten az Android Fejlesztők szem előtt tartásával fejlesztették ki.
- Python
- egy nagydarab számítógép (a kód összeállítása sok memóriát és helyet igényel!)
a Build Környezet beállítása
kezdjük az Android emulátor beállításával a Linux gépen. Függetlenül attól, hogy van-e Google Pixel XL készüléke, mindig a legbiztonságosabb kipróbálni az új ROM-ot egy Android emulátoron, mielőtt villogna a készülékére. Személyes kedvencem a Genymotion, ezért végigvezetem az adott emulátor telepítésén. Megnézheti azonban ezt az útmutatót is “legjobb Android emulátorok”, mivel többségük Linux kompatibilitással is rendelkezik.
látogasson el a Genymotion weboldalára, regisztráljon egy fiókot, ellenőrizze e-mailben, és töltse le a futtatható fájlt a Linux asztalára.
most nyisson meg egy Linux terminált, és írja be:
Chmod +x genymotion-xxxxx.bin (cserélje xxxx a verziószámot a fájlnévben)
./ genymotion-xxxxxx.bin
nyomja meg az Y gombot a Genymotion könyvtár létrehozásához. Most írja be a terminált:
cd genymotion &&./ genymotion
most meg fogja kérni, hogy kezdje meg a telepítési folyamatot, ezért csak kattintson tovább, amíg el nem éri a virtuális eszközök hozzáadása ablakot. Válassza a” Pixel XL ” lehetőséget az eszközmodell opció alatt, majd fejezze be a telepítést. Kipróbálhatja a virtuális eszközt, ha akarja, alapvetően olyan lesz, mintha egy Pixel XL telefon lenne az asztalon.
állítsuk be most a Pythont:
$ apt-get install python
most be kell állítanunk a Java Fejlesztőkészletet a Linux gépen. 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, hogy engedélyezze az USB eszköz elérését. Futtassa a következő kódot a Linux terminálon:
Ez letölti a szükséges 51-Androidot.txt fájl, amely lehetővé teszi a fent említett USB-eszköz elérését. Nyissa ki a .txt fájlt, és módosítsa úgy, hogy tartalmazza a Linux felhasználónevét, majd helyezze el a .txt fájl a következő helyen: (root felhasználóként). Most csatlakoztassa a készüléket a számítógéphez USB-n keresztül, hogy az új szabályok automatikusan hatályba lépjenek.
az Android forrás letöltése
az AOSP a Git-en található, ezért a Repo nevű eszközt fogjuk használni a Git-vel való kommunikációhoz.
először be kell állítanunk egy /bin mappát a saját könyvtárunkban. Írja be a következő parancsokat a Linux terminálba:
$ mkdir ~ / bin
$ PATH=~ / bin:$PATH
most letöltjük a Repo eszközt, így írja be a Linux terminálba:
$ curl https://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ához. Tehát í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 Gmail-címet, amelyet rendszeresen ellenőriz, különben nem fogja tudni használni A Gerrit kód-felülvizsgálati eszközt.
$ Git config –globális felhasználó.név “az Ön neve”
$ git config-globális felhasználó.e-mail [email protected]
most megmondjuk a Repo-nak, hogy húzza ki az AOSP legújabb fő manifesztjét a Git-ből:
$ repo init-u https://android.googlesource.com/platform/manifest
ha sikeresen végzett, akkor üzenetet kap, hogy a Repo inicializálva van a munkakönyvtárban. Azt is megtalálja a”.repo ” könyvtár az ügyfélkönyvtárban. Tehát most letöltjük az Android forrásfát a következővel:
$ repo sync
az Android forrás felépítése
itt jönnek létre az útmutató elején említett hardveres bináris fájlok. Menjü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) verzióhoz. Le szeretné tölteni mind a szállító képét, mind a hardverösszetevőket. Ezek tömörített archívumokként érkeznek, ezért bontsa ki őket az asztalra, és futtassa az önkicsomagoló szkriptet a gyökérmappából. Válassza ki, hogy telepítse a bináris fájlokat a korábban létrehozott WORKING_DIRECTORY gyökerébe.
most írja be a Linux terminál:
$ make clobber
$ forrás build/envsetup.sh
most majd válassza ki a cél építeni, így írja:
$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4
ott most már “épített” egy Android ROM forrásból. Tehát teszteljük az emulátorban, beírva a terminálba:
$ emulator
tehát játsszon egy kicsit az emulátorban. Mint láthatja, a tisztán vanília Android-élmény meglehetősen minimális, ezért a gyártók az AOSP-t az igényeikhez szabják. Tehát villoghat ez a ROM, amelyet csak a készülékére építettünk, ha akarja, de bármilyen fejlesztés hozzáadása nélkül a tisztán vanília Android-élmény valóban nagyon unalmas dolog lenne.
tehát amit a gyártók általában az AOSP-vel csinálnak, az az, hogy villát adnak hozzá, hozzáadják saját saját bináris fájljaikat, testreszabják a felhasználói felületet, hozzáadnak egy indító logót stb. A gyártó alapvetően csak az Android ROM-ot festi át, így ez lesz a következő célod is.
maradjon velünk, mivel az útmutató második része betűtípusokat, témákat és boot animációt ad hozzá a ROM-hoz!