Saturday, 16 February 2013

Compile dan Decompile APKTOOL

NOTE : DO WITH YOUR OWN RISK. ANE GAK BERTANGGUNG JAWAB KALO TERJADI APA-APA SAMA ANDROID AGAN.SEBAGAI PERINGATAN, KESALAHAN MENGEDIT FILE FRAMEWORK-RES.APK DAPAT MENYEBABKAN BOOTLOOP (PENGALAMAN PRIBADI) SEHINGGA MENYEBABKAN AGAN HARUS FLASH ULANG GADGET ANDROID AGAN/SIST .

What is decompiling? Android apps are BASICALLY made up of Java codes and XML files. After compiling the app, these files cannot be viewed. Decompiling is a process which decompiles the binary form of XMLs and .Java files into readable form. The XML files can be retained as it is, but the .java files are converted into smali files, a totally different language.

What is recompiling? Recompiling is simply a way to convert the XML and smali files back into the binary form and building up of the APK with the changes made. All apps after recompiled have to be signed (except system apps).

Things needed :
JRE (Java Runtime Environment)
http://www.oracle.com/technetwork/java/javase/downloads/jre-7u2-download-1377135.html
Apktool
http://www.4shared.com/zip/Z8rB_hIS/apktool.html

  1. Ekstrak ke sebuah folder.
  2. Sebelum melakukan proses compile-decompile, instal terlebih dahulu framework-res.apk (dilakukan cukup sekali saja)
  3. Masukkan file framework-res.apk ke dalam folder tersebut.
  4. Buka Command Prompt.bat yang ada di folder tersebut. Ketikkan :
    •     apktool if framework-res.apk (enter) 
  5. Done
  6. Sekarang, kita akan melakukan proses pengeditan. Misal, kita akan mengedit SystemUI.apk
  7. Masukkan SystemUI.apk dari hh, ke folder tadi.
  8. Decompile SystemUI tersebut dengan cara. Buka Command Prompt.bat, ketik: apktool d SytemUI.apk (enter)
  9. Akan muncul folder SytemUI. Nah di dalam folder ini berisi file-file yang sudah di decompile sehingga bisa kita edit. Baik itu mengganti gambar, ganti file XML, dan sebagainya. Contohnya seperti file XML yang jika dibuka langsung dari SystemUI.apk tanpa di decompile terlebih dahulu tidak akan terbaca. Jika sudah di decompile seperti ini maka file XML yang ada di SystemUI.apk akan dapat dibaca dan dibuka dengan notepad biasa sekalipun.
  10. Jika sudah melakukan pengeditan, lakukan proses compile. Ketikkan :
    •    apktool  b SystemUI   (tanpa .apk, kemudian enter).
    Proses nya agak lama jadi sabar aja gan. :D
  11. Setelah beberapa lama di dalam folder SystemUI akan tercipta sebuah folder baru bernama build dan dist. File SystemUI di dalam folder dist tidak bisa digunakan langsung di android kita karena itu adalah unsigned apk.
  12. Selanjutnya, buka folder SystemUI/build/apk. Kemudian buka file SystemUI.apk dengan WinRAR. Di sini kita akan melakukan overwrite/replace file.
  13. Ingat file apa saja yang sudah di edit tadi. File-file tersebut tinggal di overwrite aja. Misal tadi mengedit file status_bar.xml di folder SystemUI/res/layout. Maka file status_bar.xml yang ada di SystemUI/build/apk/res/layout tinggal di seret saja ke SystemUI.apk/res/layout (drag n drop).
  14. Jika sudah dilakukan pengeditan, masukkan SystemUI tersebut kedalam hh. Bisa dengan cara lewat root explorer (pastikan memperhatikan permission'a) maupun dengan membuat file flashable.

note:
  • jika file yg di edit tidak ada di folder build, maka sebagai ganti'a copy ...\build\apk\resources.arsc ke dalam apk yg kita edit (buka apk tersebut pake winrar, lakukan drag n drop)
  • jika kita mengedit files smali, copy juga ...\build\apk\classes.dex (dan resources.arsc buat amannya )

coba kesini:
http://forum.xda-developers.com/showthread.php?t=1891686

0 komentar:

Post a Comment

Terimakasih telah membaca Artikel saya. Alangkah indahnya jika anda meninggalkan sebuah komentar.