Android buhera. Szabd át a romodat!

Jelen blog az android kezelőfelületének tetszetősebbé tételével foglalkozik és megpróbálja bemutatni hogyan kell szignózni egy apk fájlt illetve romot. “II. Blogíró pályázatra beadott alkotás”

Mielőtt belekezdenék elmondom, hogy nem értek az androidhoz! Itt az oldalon van pár ember aki sokkal jobban ért hozzá, de aki nem fél a kihívástól bátran nekikezdhet. Az eljárás leírása sokkal bonyolultabb mint maga a folyamat. Na lássuk…..

Az android kezelő felületének kinézetéért a framework könyvtárban található fájl-ok a felelősek. Kezdők számára azonban az itt található két fájl lehet fontos: com.htc.resources.apk és a framework-res.apk. Mivel a két file a rom része, ezért ezeket csak a rommal együtt lehet telepíteni. A file-ok cseréje csak rootolt készüléken lehetséges. Ahhoz, hogy kinyerjük a fájl-okat csomagoljuk ki a romot. Ezt egy zip tömörítővel egyszerűen megtehetjük, mivel a főzött romok zip formátumúak. Azonban mielőtt nekiugranánk a rombuherálásnak szükségünk lesz az alábbi programokra:

- Valamilyen képszerkesztő (pl. Photoshop)

- Android SDK
- Java JDK 1.6

- Szignózáshoz szükséges program.

Amennyiben ezek megvannak jöhet az érdemi munka. Kicsomagolunk egy számunkra megfelelő főzött romot egy könyvtárba melynek neve legyen “A”. Ekkor az alábbi fájl struktúrát kell látnunk:(katt a képekre)

Itt elnavigálunk a system->framework könyvtárhoz és megkeressük a fenti két fájl-t.

Egyiket kiválasztjuk és átmásoljuk egy másik könyvtárba ennek neve legyen B. Itt a fájl kiterjesztését átnevezzük zip-re vagy egyszerűen társítjuk a kiterjesztést a tömörítő programhoz. Ezek után ha kattintunk a programra az alábbi kép fogad:

A teljes állományt kimásolom a B könyvtárban és az alábbi képet kell látnom. (az apk-t törlöm mert az már nem kell)

Itt a res könyvtáron belül találhatóak azok a könyvtárak, melyek a grafikai megjelenésért felelősek. Némely könyvtárak tartalmaznak xml fájl-okat is, azonban azokkal én nem foglalkoztam mivel azokhoz nem értek. Számomra csak azok a könyvtárak voltak érdekesek, melyek a PNG kiterjesztésű fájl-okat tartalmazzák.

Miután eddig eljutottunk jöhet a legnehezebb, leglassabb rész: a grafika szerkesztése. Itt csak a képzelet és hozzáértés szab határt, mivel közel 2000 ikon van, amit egyenként lehet átszínezni/átrajzolni. Itt van szükség a Photoshopra. Nem árt az sem, ha haladó szinten ismerjük a programot, mert igazán szép grafikát csak akkor tudunk készíteni (én sajnos csak alap szinten ismerem ). Érdemes figyelni arra, hogy a számítógép monitorán látott színek nem minden esetben fognak ugyanúgy megjelenni a PDA kijelzőjén. Arra mindenképpen érdemes figyelni, hogy a fájlok tulajdonságai (áttetszőség, színformátum) az eredeti formában legyenek visszamentve a programban.

Miután végeztünk minden grafikai átalakítással (mindkét fenti apk-t , illetve bármely apk-t ezzel a folyamattal lehet szerkeszteni) jön az a rész, amely az android rendszernél elengedhetetlen: szignózni kell a fájl-okat. Ez nem más, mint egy digitális aláírás, mely nélkül az android rendszer nem enged semmilyen programot telepíteni.

Itt lesz szükség a fenti szignózó programra, melyet kicsomagolunk bármely meghajtóra és az alábbi struktúrát kell kapnunk:

Ekkor első lépésként a B könyvtárban lévő 4-es képen látható könyvtárstruktúrát (persze a képen látható eredeti apk már törölve van) bemásoljuk a szignózó könyvtár “placehere” könyvtárában. Ezek után a script.bat programot elindítva egy szürke dos ablak fogad:

Itt a no válasz ami nekünk kell, ezért az “n” billentyűt nyomjuk meg. Következő ablakban a “Create update.zip”-re van szükségünk, ezért nyomunk egy 2-es gombot.

Ekkor a program elkezd dolgozni a megadott állományokkal

Ez alatt becsomagolja az állományokat és a procedúra végén elvégzi a fájl szignózását. Addig ne lépjünk ki az ablakból, amíg újra a 8-as ábrán látható kép nem fogad. (Az update.zip elkészítésének ideje függ az állomány méretétől és a számítógép gyorsaságától is, de akár 10 percig is eltarthat egy teljes rom felépítése és szignózása.)

Azonban még nem vagyunk készen! A kapott update.zip-et át kell nevezni arra a névre, ami eredetileg volt: tehát ha a com.htc.resources.apk-t szerkesztettük com.htc.resources.apk-ra, vagy ha a framework-res.apk-t szerkesztettük framework-res.apk-ra. A kapott fájl-okat másoljuk vissza az eredetileg “A” könyvtárban lévő eredeti helyükre, felülírva a régi fájl-okat. Ezek után az “A” könyvtár tartalmát (1-es ábra) másoljuk a szingózó könyvtár “placehere” könyvtárába.

Ekkor ismét elindítjuk a Script.bat parancsot és a fenti módon eljárva (1-no, 2-Create update.zip) létrehozzuk a romot, melyet aztán a memóriakártyára másolva rátölthetünk a PDA-ra. Azonban még mielőtt létrehozzuk a romot, lehetőség van plusz alkalmazások hozzáadására, felesleges alkalmazások kivételére a romból. A romnak a data->app részén olyan applikációk találhatóak, melyeket később el lehet távolítani a PDA-ról, azonban a system->app részen lévő applikációk telepítés után nem eltávolíthatóak, ezért innen még a a scrip futtatása előtt érdemes kivenni a feleslegesnek ítélt programokat (Figyelem: az innen törölt alkalmazások némelyike a rendszer fontos része, ezért törlésük problémákat okozhatnak a telefon működésében!)

Ha igazán menőzni akarunk, akkor ebben a blogban leírt módon a romnál beállíthatjuk a saját romverziónk számát is : http://pdaplus.hu/content/view/4878/1

Néhány screenshot a saját színezésű ikonokról (nem azért mert annyira szépek, csak bemutatásul, hogy mit lehet átállítani)

Az eddigi ismereteimhez való hozzájárulást és támogatást ezúton köszönöm az oldalon jelenlevő androidgurunak, aki magát csak “ROM buheráló” jelzővel illeti (itanczos).

Fontos: a fenti eljárás igen veszélyes! Bizonyos esetekben a készülék nem fog feléledni! Minden esetben az eredeti Fájlokról, illetve romról mentést kell csinálni.Amennyiben a rom módosítása után a rom települ a PDA-ra de az még sem indul el lehetséges, hogy valamely apk fájl-ban rosszul mentettünk valamit (ikon nevet, ikon méretet stb..).
Amennyiben az update.zip-et nem fogadja el a PDA akkor pedig a szignózásnál követtönk el hibát.

9 hozzászólás érkezett
  1. avatar
    Zsolto

    Hát, nincs androidos készülékem, de az tetszik, hogy ezekhez is megnyílt a rendszerszintű testreszabhatóság lehetősége. Előbb-utóbb biztos lesz olyan szoftver is, ami ezeket a lépéseket elvégzi a tulaj helyett, és akkor a veszélyek is csökennek majd.

    • avatar
      Gyurci

      @ Zsolto Lehet, hogy egyszer valaki készít egy külső pogramot hozzá. Új rom letölt, átalakít, feltölt. Ki tudja?

  2. avatar
    Wallner Ádám

    Hello! Én a Pulse-omon egyszerűbben megoldottam. Engedélyezni kell a fejlesztői módot a telefon beállításaiban. Majd ha az SDK telepítve van a gépen, akkor ki kell adni parancssorban a következőt:
    adb shell
    megjelenik egy linux prompt. Ha fullosat szeretnénk, akkor ki kell adni a “bash” parancsot, de ez lehet, hogy csak rootolt készüléken megy.
    Írhatóvá kell tenni a rendszer partíciót:
    mount -o remount,rw /system
    Innentől minden írhatóvá válik, többek között a /system/app .
    Én ide szoktam pl. bemásolni azokat a programokat, amik nagyon kellenek, pl touchpal, magyarítás… Ezek innen sokkal gyorsabban futnak, mint a memóriakártyáról. Ugyanígy lehet módosítani (mentés után) az egyéb rendszerfájlokat is mindenféle ROM módosítás nélkül.

    Ha kész vagyunk a módosítással , akkor az alábbi paranccsal lehet csak olvashatóvá tenni:
    mount -o remount,ro /system
    Érdemes egy rebootot is csinálni.

  3. avatar
    Doci

    Sziasztok!
    Abban szeretnék segítséget kérni hogy amikor akármilyen custom romot telepítek az amonrarecoveryben azt irja ki hogy:
    E:Cant find symlink /system/xbin/[
    E:Failure at line 22:symlink busybox SYSTEM:xbin/[
    és ezzel véget ér a telepítés és nem rakja fel a romot ha tudnátok segíteni azt nagyon megköszönném

  4. avatar
    Aeroking
  5. avatar
    eszli

    azt szeretném kérdezni ha ezt a filén át nevezem és felül irom mondjuk egy GOLauncherEX nevű nyitó kezdőoldallal akkor az lesz az egyedüli “kezdőoldal ” ?

  6. avatar
    bfdragon

    @ eszli nemegéxen. Telepisd azt a launchert amit haxnálni akarx. Törlésnél rootjog kel és root explorerel törölheted a ugymond gyárit. Gyurci nem figyelx docinak nem a gyári rom kel. Eböl is látxik h kispájás wagy. De abol igazad wan h ujra kel rakni a rendxerét. De nem feltétlen a gyárit. Én amit a te általad leirt gyári romot haxnáltam azal 2 telot wágtam már haza. Ezért nem bizok bened anyira ijen téren. Mondjuk másnak se adok bizalmat. Ja és megwan az ics rom wan 2 alfás meg 1 bétás. Xal lekaptam ami kel és elkezdtem pulsera walo portolást.

Szólj hozzá te is a cikkhez!