Šta je novo?

[Tutorial] Editovanje .apk fajlova ~ Izmena Mms.apk

Dejan990

Slavan
Učlanjen(a)
06.12.2007
Poruke
172
Poena
319
Svi oni koji imaju Android uredjaje, znaju da pojedine stock (sistemske) aplikacije imaju neke defekte ili podesavanja koja nisu dostupna, a neophodno ih je izmeniti. Meni je recimo bilo potrebno da izmenim Mms.apk (sistemska Messaging aplikacija), kako mi Android ne bi konvertovao SMS u MMS posle tri poruke. Medjutim, dosta sam se mucio, trazio pravi editor i sve potrebne pakete i aplikacije i odlucio da postavim jedno kratko uputstvo...prvo za editovanje .apk fajlova, a onda i za izmenu Mms.apk.

Sta mozete uciniti editovanjem .apk fajlova? Mozete "presvuci" aplikaciju, odnosno prilagoditi je temi ili promeniti osnovna podesavanja, kroz editovanje odredjenih fajlova. [videcete sta to znaci kroz tutorial]

1.a Dakle, prvo sto ce vam trebati, jeste apktool:
skinite apktool.jar ( http://dl.dropbox.com/u/54258750/apktool1.4.2.31e6dc5.jar )
aapt.exe ( http://dl.dropbox.com/u/54258750/aapt.exe )
i apktool.bat ( http://dl.dropbox.com/u/54258750/apktool.bat )

ovo su fajlovi koji cine alat za kompajliranje/dekompajliranje .apk fajlova...

1.b pored toga, trebace vam i signapk paketic, koji se nalazi u attachmentu.
(okacio bih i apktool u attachment, ali me upload ogranicenje od 1 mb sprecava)
(ko ima problem sa download-om, nek se javi, poslacu mu na mail)

1.c Pre nego sto krenemo u proceduru, otpakujte i spremite u folder ove alate, na sledeci nacin:
otvorite C:\ ...i ovde napravite folder "apktool" (bez navodnika naravno) i folder "signapk". U prvi stavite ona tri gore navedena fajla (aapt.exe, apktool.bat i apktool.jar) a u drugi folder odzipujte fajl iz attachmenta.

2. Posto je tema ovog tutoriala izmena Mms.apk fajla, da biste to ucinili potreban vam je root pristup vasem telefonu. Koristite neki root alat da pristupite strukturi Android sistema, otvorite /system/app i odatle izvadite vas Mms.apk.
Zasto kazem vas Mms.apk? Zato sto se od telefona do telefona razlikuje verzija ROM-a i onda ne odgovara svaki Mms.apk za svaki sistem. Tako da ne moze to uciniti neko za vas, osim ako mu ne posaljete bas vas fajl! (dakle, samo prekopirajte Mms.apk na karticu i prebacite na racunar)

3. Prebaceni fajl, iskopirajte u apktool folder, koji ste vec napravili.

4. otvorite Command Prompt (mozete uciniti to kucanjem komande cmd u Run), i navedite se na apktool folder. To cete uciniti tako, sto cete kucati:
cd c:\apktool <pritisnete Enter>

5. posto uspesno odete u apktool folder, kucajte sledecu komandu apktool d Mms.apk [ovo ce dekompajlirati vas .apk fajl, odnosno otpakovati ga i napraviti folder sa imenom aplikacije]

6. sada izvrsite potrebne promene na fajlu [u slucaju Mms.apk, ja sam nacinio promene da mi ne konvertuje SMS u MMS posle 3 poruke, izmenom mms_config.xml fajla, koji se nalazi u /res/xml i uradio sledece:
-promenio vrednost smsToMmsTextThreshold iz 4 u 200
~ovde imate jos neke opcije, ali vam ne bih savetovao da se igrate sa njima, ukoliko ne znate sta znace

7. ponovo otvorite cmd (predjite u folder apktool) i kucajte sledecu komandu apktool b Mms [ova komanda ce kompajlirati, odnosno uciniti build vase aplikacije. Kucate bez ekstenzije .apk, jer kompajler ucitava resurse iz vec raspakovanog foldera Mms]

8. sada ste dobili novi Mms.apk (sa vasim izmenama) koji se nalazi u (u mom slucaju Mms>dist) /<ime_aplikacije>/dist ...ovaj .apk cete kopirati u folder signapk (koji ste isto napravili na pocetku)

9. ponovo otvorite Command Prompt (sada cete otici u folder signapk, istom komandom, ali novom putanjom - cd c:\signapk)
i kucajte sledece: java -jar signapk.jar certificate.pem key.pk8 Mms.apk Mmssigned.apk

ova komanda ce "potpisati" vas .apk fajl, da za Android sistem i izgleda kao da je sistemska, neizmenjena. Dakle prvi deo komande poziva signapk.jar, a drugi i treci (certificate.pem key.pk8) su test "potpisi" koji se "ugradjuju" u vas .apk fajl. Cetvrti deo komande (Mms.apk) oznacava fajl koji se potpisuje, a Peti (Mmssigned.apk) oznacava output, odnosno naziv novog napravljenog fajla - potpisanog.

Napomena: vodite racuna o nazivima, jer su svi alati case-sensitive, dakle nema menjanja veceg ili manjeg slova, jer ga alat vidi takvog kakav je!

Postoji nekoliko alata, koji su napravljeni u ove svrhe, kao sto je APK Multi Tool ( http://apkmultitool.com/ ) medjutim iz iskustva vam kazem, ovo je teza verzija...bar za mene.
Na ovaj nacin, ono "presvlacenje" sto sam napomenuo gore je lakse, jer je potrebno izmeniti .png fajlove, ako vec menjate izgled vase aplikacije.

Za sva pitanja, tu sam ;)
 

Prilozi

  • signapk.zip
    8.6 KB · Pregleda: 144
...dodao bih ipak, sto se tice ove izmene Mms.apk fajla, da kod nekih ROMova moze doci do "eksterne" kontrole velicine SMS-a. Na mom Streak-u, imam 407 Olleh ROM (GB 2.3.3) koji u /system/build.prop ima nekoliko sintaksi koje kontrolisu velicinu poruke. Tako da oni koji ne dobiju rezultate izmenom Mms.apk fajla, neka pogledaju ovaj (build.prop) fajl, kako bi bili sigurni da nemaju nikakve prepreke u iskljucivanju konverzije sms-a u mms.

Sto se tice promene build.prop-a...potrebno je naci sledece linije koda:
ro.build.CUSTOMER_CONFIG_KT=1
...
ro.build.CONFIG_CUSTOMER_KT=1

i promeniti ih u:
ro.build.CUSTOMER_CONFIG_KT=0
...
ro.build.CONFIG_CUSTOMER_KT=0

<pojavljuju se u fajlu tri puta, da se ne zbunite>

takodje, dodao sam i
ro.telephony.sms_segment_size=160
iako ne znam da li cini nesto, ali nije na odmet ;)
 
Super tema, i sjajna ideja, čim uhvatim malo vremena, poigraću se sa fajlovima koje si ubacio...
 
Dejane, sistemske aplikacije se ne sign-uju. Ovo ostalo ti je sve dobro samo sto si zaboravio da napises da je potrebno instalirati framework-res.apk, twframework-res i systemui.apk kod Samsunga a kod HTC i com.htc.resources.apk. Komanda je apktool if ...apk
 
Ne znam da li moraju da se potpisuju, ali ja to radim s ovim kljucevima i sve funkcionise...negde sam procitao da su ova dva fajla zapravo test kljucevi? koji se koriste da se potpisu ove aplikacije. Mozda gresim, mozda radi i bez toga...probacu, pa javljam ;)

a ovo sto se tice framework-a ...ne mora uvek da se instalira. Sve zavisi naravno od promena i izmena. To je vec advanced edit ;) ...i u tom slucaju bolje je koristiti Multi tool...bar govorim iz licnog iskustva.
 
Nazad
Vrh Dno