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
-
OnePlus One – nagyon egyben One
Bár tavalyi a készülék, azóta sok dolog történt, ami miatt érdemes kicsit körülnézni a OnePlus háza táján.
-
Saját Cyanogenmod téma készítése
Miután a legelterjedtebb Android modot használjuk, nem árt, ha előkerítjük a kreativitásunkat is néha.
-
MediaTek mod, avagy a "másképp" droid
Számos gyártó, és szabvány állt be az Android mögé, ám kevés annyira különleges, mint az MTK rendszerei.