Android light ROM készítése

Az indulás

Dolgozhatsz úgy is a romban, hogy nem tömöríted ki, de akár használhatsz főzőprogramot is.
Lássuk először az első módszert!

A custom romokban legalább 2 mappát fogsz találni:
- data (- erről mindjárt lesz szó, olvass tovább...)
- META-INF ( - a rom információit, az .apk-k szignóit tartalmazza)
- system ( - a rendszer mappája)

Illetve 3 fájlt:
- boot.img ( - ez a kernel maga)
- check_data_app ( - ez a fájl felelős a data/app mappában található appok felrakásáért, annak ellenőrzéséért)
- installbusybox ( - ez is egy kis szkript, mely a busybox-ot rakja fel)

Nekünk most a mappák lesznek érdekesek. Azok közül is először a data nevű, amiben találsz egy app, és egy local mappát (ide tehetjük saját bootanimation-unkat, és akkor azt fogja lejátszani).

Egyes romokban nem szerepel /data/app mappa.
Ennek megoldására egyrészt ugye kell egy data/app mappaszerkezet a romba, kell hozzá a check_data_app fájl a "gyökérbe". Ezeken kívül pedig a META-INF\com\google\android\ mappában lévő updater-script fájlt kell kiegészíteni ezzel a pár sorral:

mount("yaffs2", "MTD", "userdata", "/data");
ui_print("Adatok kitomoritese...");
package_extract_file("check_data_app", "/tmp/check_data_app");
set_perm(0, 0, 0777, "/tmp/check_data_app");
run_program("/tmp/check_data_app");
package_extract_dir("data", "/data");
set_perm(2000, 2000, 0771, "/data/local");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
unmount("/data");

De térjünk vissza a mappához. A data/app mappa arra jó, hogy az ide bemásolt .apk kiterjesztésű fájlok automatikusan települni fognak, amikor a rendszert feltelepíted, viszont nem lesznek rendszeralkalmazások, így bármikor könnyen törölheted őket. (FIGYELEM! Ha csinálsz egy rendszervisszaállítást, akkor azok a programok, amiket ebbe a mapppába raktál TÖRLŐDNI fognak!)

És itt jön a képbe, hogy honnan szerezz .apk-kat. Több módja is van:
1. letöltöd netről, vagy
2. felraksz a jelenlegi rendszeredre például egy My Backup Root nevű programot, melynek Backup menüpontjával kedvedre gyárthatsz .apk-kat, vagyis letöltesz egy progit, amit majd használni szeretnél a jövőben, elindítod a backup programot, kijelölöd a kívánt alkalmazást, az pedig pár másodpercen belül lementődik (néha elő szokott fordulni "hibás", nem települő app).

Persze e mellett még van pár ilyen alkalmazás, de erre most nem térnék ki.

Tehát elkészül az .apk, amit majd az SD kártyádon a mikor melyik mappában találsz (a programok mindig megjelölik).
[Ennél már csak egy egyszerűbb megoldás van, amikor egy root jogú mappaböngészővel a jelenleg rendszered /data/app mappájából kimásolod őket az SD kártyádra.]

Ezeket már bele is teheted az általad buherált romba az említett helyre, illetve most jön a másik lehetőség:
A system/app mappa. Ide viszont úgy rakd be az .apk-t, hogy a lib-jét (amit az .apk-n belül a lib/armeabi mappában találsz, lehet belőle több is, a kiterjesztésük pedig .so) másold be a system/lib mappába, így az rendszeralkalmazássá válik.
Természetesen mehetnek ide olyan .apk-k is, amiknek nincs lib-je.
Mellesleg ezekből a mappákból törölhetsz is olyan .apk-kat, amiket az eredeti rom készítője fontosnak talált, de te nem használod őket.
De csak óvatosan! Ha pedig kitörlöd vmelyiket, akkor nézd meg, hogy tartozik-e hozzá lib, és azt is töröld a megfelelő rendszermappából (/system/lib) hogy ne foglalja a helyet.

Amit inkább NE törölj:

AccountsAndSyncSettings
ApplicationsProvider
Bluetooth
Camera
Contacts
ContactsProvider
DeskClock
DownloadProvider
DrmProvider
Gmail
GoogleBackupTransport
GoogleFeedback
GooglePartnerSetup
GoogleServicesFramework
HWDrmApp
Market
MarketUpdater
MediaProvider
Mms
NetworkLocation
PackageInstaller
Phone
Settings
SettingsProvider
Stk
Superuser
TelephonyProvider
VpnServices

2.3 esetén még:
SystemUI

Még ezekből is törölhetsz esetleg, de akkor nem fog minden rendesen működni. Pl. ha Google alkalmazást, akkor a Market nem engedelmeskedik.

Ha csak ezeket hagytad meg, akkor még csak egy működő alaprendszered lesz, amiből még hiányoznak nélkülözhetetlen appok. Pl még kell Launcher, Keyboard ...stb.
Én ezeket javaslom kiegészítésként:

Smart Keyboard
Zeam Launcher
Opera Mini Browser
Dolphin Browser Mini
Poweramp Music
QuickPic
No-frills CPU Control (ha nem cm romról van szó)

Ennyit az app-okról!

A gyári csengőhangok törlése/cseréje
A gyári csengőket a system/media/audio mappa rejti. Ebben a mappában vannak szétválogatva a ringtones, a notifications, az alarms és az ui (afféle kisebb hangok, melyek pl a bill.-zár kioldásakor hallhatók, feltéve, hogy be vannak kapcsolva).
Innen nyugodtan törölhetsz bármit, illetve, rakhatsz be saját hangokat (ajánlott ogg formátumban). Amiket ide raksz, azok meg fognak jelenni, a hangbeállításoknál. Értelemszerűen amit a notifications mappába teszel, azt majd értesítési hangként tudod felhasználni.
Érdemes a változtatások után a build.propot is átírni, de erről lentebb lesz szó.

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