2024, 04 25, 06:13:09

Szerző Téma: Trükkök, módosítások, és egyéb szépészeti beavatkozások az android világában!  (Megtekintve 7891 alkalommal)

0 Felhasználó és 1 vendég van a témában

Nem elérhető radicspeter

  • TOPIKGAZDA
  • ****
  • Hozzászólások: 2141
  • Nem: Férfi
  • Sixalag rajongó
    • warezlinks
  • PDA: NeXus 5
  • PDA ROM: KOT49H
Mindenek előtt hogy bármibe is kezdenénk külön köszönöm St3ve007 munkáját! Ugyanis olyan "problémát" oldott meg ami a szivem csücske!

Kérdésem az volt hogy hogyan lehet megváltoztatni a rendszerbeállítások hátterét teljes egészében feketére?
-Univerzális megoldás a 2. hozzászólásban található.
Miért univerzális?
Mert azzal az eljárással szinte minden megváltoztatható egy adott rom kinézetére vonatkozóan!!

Egyébként:
Itt bemutatásra kerülhetnek az adott romok illetve programok komolyabb módosításai, témák, ikonok változatai is illetve minden módosítások ami eltérővé teszik a telefononkat a nagy átlagtól...
:ok:

You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Nem elérhető St3ve007

  • Hozzászólások: 51
  • PDA: SGS i-9000
  • PDA ROM: SlimBean 4.2.1 [RC 2]
Re: Tippek, trükkök az android világában!
« Reply #1 Dátum: 2013, 01 23, 10:44:22 »
APK fájlok módosítása, egyedi témák készítése

Itt egy kis segítség azoknak akik belevágnának sajátos kinézetű témák elkészítésébe különböző ROM-oknál. Csak az alapokat írom le, de az elinduláshoz ez bőven elég lesz. Ezzel az eljárással nem csak a ROM-hoz tartozó témát tudjátok változtatni, hanem majdnem mindent, ugyanis szétszedjük darabokra az apk fájlokat.

Mindenki csak saját felelősségére vágjon bele!

Tisztázzunk néhány fogalmat:

Azon eljárást, amelynek keretében a tárgykódból különféle, a továbblépéshez szükséges információkat nyernek, re­verse engineeringnek nevezzük. Ennek egyik eszköze a dekompiláció, ami a tárgykódnak egy visszafordító­program segítségével forráskódba visszafordítását jelenti.


Na mi ezt a dekompilációt fogjuk használni, ugyanis dekompilálnunk kell az apk fájlokat, hogy azt olvashatóvá tegyük számunkra. Ezután már tudjuk formázni és ha végeztünk rekompiláljuk, visszadobjuk a ROM-ba és készen vagyunk.

Ehhez a folyamathoz szükség lesz az apktool-ra:
You are not allowed to view links. Register or Login
Csomagoljátok ki, a mappában 6 fájlnak kell lennie, ez jelenleg a legfrissebb verzió, de ha jön ki újabb, azt innen tudjátok majd leszedni:
You are not allowed to view links. Register or Login

Egy másik fontos dolog ami mindenképp kellene fog, ha még nincs a gépen:
You are not allowed to view links. Register or Login

Ha fent is van a gépen, a következőt csináljátok meg, mert másképpen ezt a hibaüzit fogod kapni később:
...'java' is not recognized as an internal or external command...
 (sry, de angol a win7em)
Control Panel -> System and Security -> System -> (bal oldalt) Advanced system settings
Majd ami bejön ablak, alul -> Environment Variables, majd alul keresd ki azt, hogy Path
Menj rá az Edit-re és az alsó sorban fel lesznek sorolva elérési utak, a végére írj egy ";" jelet és írd be a pontos elérési útját a javadnak. Nekem pl ez: C:Program Files (x86)Javajre7bin
Ha kész Okézz le mindent és ezzel megvagy.

Következő lépés, hogy keress egy ROM-ot, én pl ezzel csinálom:  Slim-I9000-4.2.1.RC.1-OFFICIAL
Nyiss egy total commandert, egyik oldalon legyen a ROM, másikon az APKtool mappa
(Mindenképp a total commandert ajánlanám, az hiba nélkül szedik ki és rakja vissza a fájlokat zip-ekbe)
ROM-on belül:
System -> App -> SystemUI.apk  (kezdjük ezzel, de ez később lehet a Settings.apk is vagy Contact.apk, akármi)
System -> framework -> framework-res.apk
System -> framework -> twframework-res.apk     !! ha van akkor ezt is !!

A framework fájlra (fájlokra, romtól függ, hogy 2 van-e) mindenképp szükség van a decompile-hoz.

Ha kimásoltad a ROM-ból a fájlokat, nyisd meg a mappát úgy önmagában az asztalról, vagy ahova raktad és tartsd lenyomva a CTRL+SHIFT billentyűket, majd jobb klikk - > Open command window here
(a CTRL+SHIFT-re azért van szükség, ha alapból nem a C gyökérkönyvtárba van a mappád, mert így a cmd csak is abban a mappában fog dolgozni, ahol megnyitottad)

Először betöltjük a framework fájlokat, hogy a decomplie jó legyen. Írjuk be a következő sort cmd-be:
apktool if framework-res.apk 
Ezután nyomj entert, ha minden jól megy azt fogja írni, hogy Framework installed.
Ha van twframework-res.apk-d, azzal is ugyanezt tedd meg:
apktool if twframework-res.apk 
Majd jöhet a systemui:
apktool if systemui.apk 

Ezeket a user mappádon belül az apktool mappába telepíti, azzal nem kell foglalkoznod.

Most pedig jöhet a decomplie:
apktool d systemui.apk ./systemui

A végén lévő ./systemui csak annyit jelöl, hogy abba a mappába tegye a fájlokat, bárminek elnevezheted a mappád, lehet akár "./gesztenye" is :)

Nyomd meg az entert és ha végzett újra megjelenik a sor ahova írhatsz, de már nem fogsz, mert bezárhatod a cmd-t.

Amilyen mappa nevet megadtál, ott megjelentek a systemui.apk-ban lévő fájlok. Leginkább a "res" mappa fog kelleni nekünk, a többihez nem is érdemes nyúlni. A res-en belül a drawable mappák érdekesek számunkra és talán a layout, de még én sem kísérleteztem ki teljesen. A lényeg, hogyha idáig eljutsz már látni fogod mivan :)

Ha végeztél a módosítgatásokkal, akkor vissza kell rakni az apk fájlt eredeti formájába, tehát a recompile következik:

APKtools mappájában ismét CTRL+SHIFT+jobbklikk -> Open command window here, majd írd be a következőt:
apktool b -f -d gesztenye
(a gesztenye helyére értelemszerűen a mappa neve menjen, amit előzőleg írtál, tehát amiben van az apk fájlod szétszedve..)

Ha megvan, bezárhatod a cmd-t és nyisd meg a gesztenye mappát, látni fogsz egy build és egy dist almappát.
A build mappát most hagyjuk figyelmen kívül, nyissuk meg a dist mappát.

Itt lesz a rekompilált apk fájlunk: systemui.apk , nevezzük át, arra ami volt: SystemUI.apk

Nyissuk meg a total commandert és azon belül ezt az új SystemUI.apk-t
Másik oldalon pedig az eredeti SystemUI.apk-t amit keszedtünk a ROM-ból.
Látni fogjuk, hogy az újban nincs META-INF mappa, ezt könnyen korrigáljuk:
Átmásoljuk a META-INF és AndroidManifest.xml fájlokat az új SystemUI.apk-ba. Ezek a fájlok tulajdonképpen csak megjelölik az aktuális apk-t, de szükségünk van rájuk. (AndroidManifest-et felül kell írni)

Ha kész van, mehet is vissza az eredeti helyére a SystemUI.apk és akár flashelheted is.
Kis google kutakodás után okosabbak is lehettek, ezek csak az alapok, pl a build mappa is hasznos tud lenni kisebb módosítgatásoknál..

Remélem segítettem!

A könnyebb érthetőség érdekekében készítettem egy videót is:

You are not allowed to view links. Register or Login


Nem elérhető radicspeter

  • TOPIKGAZDA
  • ****
  • Hozzászólások: 2141
  • Nem: Férfi
  • Sixalag rajongó
    • warezlinks
  • PDA: NeXus 5
  • PDA ROM: KOT49H
"Ha végeztél a módosítgatásokkal, akkor vissza kell rakni az apk fájlt eredeti formájába, tehát a recompile következik:"

a settings hátterét nem találom... az hol lehet beállítani?
Amúgy csúcsszuper a leírásod is. Minden mást megtaláltam már a drawable mappákban is...
You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Nem elérhető radicspeter

  • TOPIKGAZDA
  • ****
  • Hozzászólások: 2141
  • Nem: Férfi
  • Sixalag rajongó
    • warezlinks
  • PDA: NeXus 5
  • PDA ROM: KOT49H
Bárki felrakhatja ezt a zippet 4.0 felett...
Persze ha tetszik csak akkor ;)
You are not allowed to view links. Register or Login

Tapatalk 2-vel küldve az én GT-I9000-ről

You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Nem elérhető joco82

  • Hozzászólások: 5
  • PFC Fan
  • PDA: Galaxy S
  • PDA ROM: CyanogenMod 10.2
Valaki tudna segiteni nekem a képen láthato csempék helyének megmondásával?

Nem elérhető SpegZ

  • Hozzászólások: 1
  • PFC Fan
  • PDA: I9000
  • PDA ROM: 4.2.2.
You are not allowed to view links. Register or Login
Valaki tudna segiteni nekem a képen láthato csempék helyének megmondásával?


Szia!

Slimbean alatt a beállítások/interface/notification drawer/quick settings panel/tiles and layout menüben lehet hozzáadni-elvenni.

Üdv.: Sp

Nem elérhető gerg0

  • Hozzászólások: 57
  • PDA: Galaxy S4 Mini
Esetleg ugyanezt hogyan lehetne Témaként megcsinálni? Az talán szebb megoldás.