Ada beberapa cara untuk decompile aplikasi di android, salah satunya menggunakan apktool. apa sih tujuan men-decompile aplikasi ini. tentu saja untuk keperluan kostumisasi atau modding dan development android guna memaksimalkan kinerja android kita. atau cuma sekedar memperindah tampilan user interfacenya saja, untuk melakukan semua itu kita perlu membongkar jeroan system dan aplikasi si robot ijo ini. kalo udah di bongkar, kita tinggal memodifikasinya sesuai kebutuhan kita, selesai memodifikasi kita harus meng-compile ulang aplikasi yg td kita decompile, agar bisa dipakai di android kita. Lalu bagaimana Cara Decompile dan Compile di Android ? berikut saya share cara mudah untuk decompile dan compilenya.
Apa yang kita perlukan untuk belajar menggunakan apktool ?
- Komputer/Laptop bersistem operasi Windows
- Koneksi internet. untuk download beberapa tool ini:
a) JAVA SDK and JRE
b) Android SDK
c) Apktool core tool
d) Sign apk tool - Pengetahuan dasar tentang command promt / CMD windows dan lokasi(direktori) file / path.
- Bisa gunain Script Editor seperti notepad++
STEP 1 - Install JAVA
Download java sdk dan jre disini http://www.oracle.com/technetwork/java/javase/downloads/index.html
Install java sdk dan jre.
STEP 2 - Install Android SDK
Download android sdk disini http://developer.android.com/sdk/index.html
kalo udah di download,ekstrak ke tempat yg lokasi nya mudah. misal C:\Androidsdk
install android sdk nya.
install android sdk nya.
STEP 3 - Download APKTOOL
download semua file diatas, dan taruh di dalam folder yang sama. disinilah nantinya kita akan melakukan decompile dan recompile.
Letak direktori/folder apktool |
STEP 4 - Menggunakan APKTOOL untuk men-decompile Dan Recompile
- Buka folder dimana letak apktool yg td kita download.
- pencet shift dan klik kanan di folder tersebut. pilih "open command window here"
maka akan muncuk cmd/command promt.
- untuk contoh, saya akan mendecompile file SystemUI.apk , taruh file SystemUI.apk didalam
satu folder dengan apktool.
satu folder dengan apktool.
- selanjutnya kita akan mendecompile file SyetemUI.apk menggunakan perintah :
apktool d nama-aplikasi.apk
contoh : apktool d SystemUI.apk
kalau proses decompilenya sukses, maka akan muncul folder baru (sesuai nama apk yg kita decompile) di dalam folder tersebut terdapat file *.xml , *.smali yang nantinya akan di modifikasi sesuai kebutuhan.
Folder SystemUI yg terbentuk setelah decompile SytemUI.apk |
- Karena disini saya hanya membahas cara decompile,dan recompile, jadi ya cuma itu yang saya bahas. anggap proses modifikasi/modding sudah selesai. selanjutnya adalah meng-compile ulang/recompile file SystemUI.apk
- Untuk proses recompile, lakukan dengan perintah :
apktool b nama-folder-app
contoh : apktool b SystemUI
setelah proses recompile sukses, maka file hasil modifikasi yg sudah di compile ulang akan tersimpan di dalam folder Dist. Folder Dist ini ada di dalam folder SytemUI (sesuai nama folder apps yg kita decompile)
hasilnya tersimpan disini :
kini anda sudah sukses men-decompile, memodifikasi, dan meng-kompile ulang sebuah aplikasi di android. :)
selanjutnya ke step terakhir. step paling penting. kalau anda melewatkan step 5 ini maka apps yg td kita modifikasi tidak akan berfungsi, bisa bisa setelah mem-push / menginstallnya HH kita bisa bootloop. :-p
STEP 5 - Signing apk
Download dulu sign-apk nya disini
Ekstrak di sembarang tempat, yang penting mudah mengaksesnya.
pencet shift + klik kanan > "open command window here" pada folder sign-apk tadi.
copy kan file *.apk hasil modifikasi yang td sudah compile ulang ke folder yang sama dengan sign-apk
selanjutnya, ketikan perintah berikut di cmd :
java -jar signapk.jar certificate.pem key.pk8 nama-aplikasi-recompile.apk nama-aplikasi-final.apk
keterangan :
nama-aplikasi-recompile.apk : nama aplikasi hasil recompile sebelum di sign.
nama-aplikasi-final.apk : nama aplikasi hasil recompile setelah di sign.
contoh :
java -jar signapk.jar certificate.pem key.pk8 SystemUI.apk SystemUI-final.apk
setelah selesai, maka akan terbentuk file SystemUI-final.apk di dalam folder yang sama.
itulah aplikasi yang benar-benar sudah selesai dimodifikasi dan siap diinstall. :)
jangan lupa merename ke nama aslinya. misal SystemUI.apk dan push ke system untuk menginstallnya.
Done !
221 komentar
Tulis komentar «Terlama ‹Lebih tua 201 – 221 dari 221 Lebih baru› Terbaru»frameworknya udah di install belom ?
Replyini kenapa ya gan??
Reply[img]https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-xpa1/v/t1.0-9/10625024_10202711578824889_702082479334451666_n.jpg?oh=111409ee440859e6c7e68400bbbaae0b&oe=54DC8152&__gda__=1423683384_40f639ab1c390bb4a83b1833220b5d34[/img]
C:\Users\BCA\apktool program>cmd
ReplyMicrosoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\BCA\apktool program>apktool if framework-res.apk
I: Framework installed to: C:\Users\BCA\apktool\framework\1.apk
C:\Users\BCA\apktool program>apktool d SystemUI.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\BCA\apktool\framework\1.apk
I: Loaded.
I: Regular manifest package...
I: Decoding file-resources...
W: Could not decode attr value, using undecoded value instead: ns=android, name=
color, value=0x02060002
W: Could not decode attr value, using undecoded value instead: ns=android, name=
color, value=0x02060002
W: Could not decode attr value, using undecoded value instead: ns=android, name=
textColor, value=0x02060004
W: Could not decode attr value, using undecoded value instead: ns=android, name=
color, value=0x02060002
W: Could not decode attr value, using undecoded value instead: ns=android, name=
textColor, value=0x02060004
I: Decoding values */* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
0x010808f7
at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)
at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen
ceValue.java:62)
at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe
renceValue.java:46)
at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlValueExt(Re
sScalarValue.java:86)
at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlValue(ResSc
alarValue.java:55)
at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re
sStyleValue.java:61)
at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour
ces.java:440)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:243
)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:115)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
at brut.apktool.Main.cmdDecode(Main.java:146)
at brut.apktool.Main.main(Main.java:77)
C:\Users\BCA\apktool program>
coba baca logcatnya, sma install juga framework 2 nya, contoh :
Reply- Samsung ROM (TouchWiz), framework 2 nya = twframework-res.apk
- Sony ROM, framework 2 nya = semcgenericuxpres.apk
harus di root gak devicenya?
Replymohon pencrahannya..
iya. wajib. punya android wajib di root
ReplyGan kenapa pada saat recompile kok gagal?
Replypesan errornya apa ?
ReplyGan biasanya kalo moding game itu gimana ? cara nyari coin / diamon ? hehe
ReplyBelom pernah modding game. Di hanivinside lebih cenderung modding user interface.
Replygan, kalau dari komputernya gimana deodex dan odex itu?
Replypake tools namanya ultimate deodexer.
ReplyAlhamdulillaah berhasil bro... makasih banyak yah smoga apa yg udh ente sampaikan n ajarkan dibalas kebaikan ma yg maha kuasa.. aamiin
ReplyAmin bro, :)
ReplyGan, ane dapet error kaya gini :3
ReplyException in thread "main" brut.androlib.AndrolibException: Could not decode arsc file 'blablabla'
Solusinya donk gan,
coba pesan errornya yang lebih lengkap gan, kalo bisa kasi screenshootnya.
ReplyUm mau nanya kalo brut di public tanpa harus ngikutin keinginan public apa bisa ?
ReplyMisal kalo ane pindahin png drawable-hdpi ke drawable-xhdpi nah itu brut di public yang drawable hdpi karna di pindahin ke drawable-xhdpi apakah ada solusi buat ngatasinnya tanpa harus ngikutin public terimakasih.
Um kalo brut di public gimana ya tanpa harus ngikutin keinginan public misal ane mindahin png ke folder baru drawable hdpi ke drawable xhdpi nah brut nya itu di public hdpi apakah bisa ngatasin nya tanpa harus ngikutin public terimakasih
Replysetau ane mesti sesuai gan, kalo gak sesuai kadang bikin error pas dicompile.
ReplyGan numpang tanya dong ane coba decode apk pake apkstudio , terus apktoolnya 2.1.0 yang terbaru .. tapi ko kenapa pas decode apk selalu diakhir decode terdapat error di "error copying unknown files blabla .. klo folder2 lain sperti res, value xml dll bisa di decode ..
ReplyTerima kasih
mau compile apa decompile ?
Replycoba kasih screenshootnya
- Kritik dan saran sangat saya nantikan untuk kemajuan blog ini.
- Silakan report, jika ada link yang mati.
- Mohon untuk berkomentar sesuai dengan tema postingan.
- Dilarang berkomentar yang mencantumkan LINK AKTIF.
ConversionConversion EmoticonEmoticon