Saját Cyanogenmod ROM felépítése

Nem leszel modder attól, hogy ki tudod cserélni a kész romban a háttérképet, a forráskód a lényeg! – írta: Keeperv85, 11 éve

A JAVA környezet létrehozása

Mivel az Android rendszerünk jó nagy része JAVA alapokra épül, a Google szerint teljesen új függvénykönyvtárakat használtak hozzá. Ezt ne nagyon higgyétek el: nem, nem használtak. A rendszer teljesen JAVA alapú. Olyannyira az, hogy le sem lehet fordítani a JDK nélkül. Ebből pedig nem enged csak úgy bárminek nekimenni, mert az Oracle licenc kikötötte, hogy a Google-nak nem sok köze van ehhez a kódhoz.

Ezzel van egy apró baj viszont. Magasabb verziós Linuxon alapvetően a csomagkezelők úgy lettek kialakítva, hogy a JAVA verziókból a legfrissebb került fel a repókba. Ha ezekkel akarunk fordítani, akkor egy kellemetlen kis ellenőrzés keretein belül ez az üzenet szórakoztat majd minket:

************************************************************
You are attempting to build with the incorrect version
of java.

Your version is: WRONG_VERSION.
The correct version is: RIGHT_VERSION.

Please follow the machine setup instructions at
https://source.android.com/source/download.html
************************************************************

Értelemszerűen a mi verzióinkkal kiegészítve a mondandóját...

Ha most csomagkezelő után nyúlnátok: ne tegyétek! Az összes repo frissítve lett. Az Android pedig nem fogja megenni a friss verziókat már.

Mit tehetünk? Telepítünk "kézzel"!

Be kell szerezzünk egy megfelelő JAVA csomagot. Ehhez látogassuk meg az Oracle oldalát, majd keressük meg a rendszerünknek megfelelő csomagok közül azt, amelyik verzióra nekünk szükségünk van: 32 vagy 64 bites. Sajnos az oldal több részét is csak regisztrált tagok érhetik el. Felül a szürke mezőben válasszuk az "Accept..." lehetőséget.

Figyelem: az újabb forrásokban sok 64 bitre épülő kódrész lehet, ha csak tehetjük használjunk 64 bites környezetet!

Folytassuk ezzel:

$ chmod +x jdk-6u45-linux-x64.bin
$ ./jdk-6u45-linux-x64.bin

Lássuk, mit is csináltunk! Az első parancsban megváltoztatjuk a fájlunk jogosultságait és ráadjuk minden felhasználónak az "x"-et, vagyis a futtatási jogot. Értelemszerűen a mi csomagunk nevét adjuk meg!

A másodikban pedig futtatjuk. Ez egy önkicsomagoló állomány, tehát csak kibontja magát, oda ahol éppen van. Sokra így nem megyünk vele. Sajnos vagy sem, de kézzel kell a helyére erőszakolni, ráadásul utána be is kell állítani.

Első körben adjuk rá a csoportjogokat is, és mozgassuk át tehát a majdani helyére:

sudo chown root -R jdk1.6.0_45/
$ sudo mv jdk1.6.0_45/ /usr/lib/jvm/

Az mv parancs a "move" szóból rövidült a könnyebb érthetőség miatt. A "sudo" lehet már a cikk eleje óta felmerült ismeretlen dolog még: rendszergazdaként hajtjuk végre az adott folyamatot.

Itt láthatjuk továbbá, hogy a kiindulási könyvtár elé nem kell és nem is szokás "/" jelet tenni. Sőt! Egyes kiadások alatt hibát jelez ez a parancs, ha benne van. Ne használjuk!

Most, hogy a JAVA verziónk a helyén van végre, már csak tudatni kéne a rendszerrel, hogy mi oda tettük. Mutassuk meg neki az alternatívákat!

$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 1
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/bin/java 1
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_45/bin/javaws 1

Ezzel sikeresen telepítettük a régebbi verziót. Nyugodtan hátradőlhet... nénk, ha nem lenne a legtöbb rendszerben alapban is valamilyen JAVA telepítve. Ha ugyanis van, márpedig van, akkor ezt egész addig nem használja, még meg nem mondjuk neki:

$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws

Ezt a három parancsot sorban kiadva, rendre egy ilyen üzenet fogad minket:


A meglévő JAVA verziók kiírása és beállítása

Az entert lenyomva jóváhagyjuk a most kijelzett sort, a numerikus számsoron megadva az értéket pedig kiválaszthatjuk, hogy melyik verziót szeretnénk igénybe venni. Melegen ajánlom, hogy a most telepített verzió legyen az, ugyanis másképp hiába dolgoztunk!

Figyelem! Ne csináljunk keresztezett JAVA környezetet, tehát ne állítsuk pl. a 7-es javac mellé valamelyik 6-os java-t, mert lehet ugyan így is használni, de aztán nem kell meglepődni, hogy félrefordít mindent...

Ha már is sikeresen kifulladtunk és még kitartott a hideg élelem, amit felhalmoztunk a cikk olvasása előtt remélhetőleg, illetve van még elég sör türelmünk, akkor rátérhetünk a következő fázisra illetve megnézhetjük, sikeresek voltunk-e:

java -version

Ha az 1.6-os verzió fut, akkor minden oké.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt