Rabu, 23 Mei 2012

Cara Deodex Android di Linux

Akhirnya setelah 8 hari mencari-cari tools sejenis Xultimate, akhirnya tertemukan juga. Dengan cara tanpa menyerah akhirnya ketemu juga toolsnya.He senengnya..
Oke sekarang saya akan menjelaskan bagaimana cara mendeodex Android. Sebelumnya cara ini saya test di Galaxy Mini Pop Plus (GT-S5570I) dengan tipe firmware XXLC3 dan berhasil 100% tanpa kendala. Nah bagi yang berbeda tipe Hhnya atau firmwarenya, bisa mengikuti maksud dari tutorial ini. Yang jelas cara deodex Android pada setiap device itu tidak berbeda jauh.
Nah lalu apa si deodex itu?
Jawabannya:
Deodexing intinya menghapus file odex dari system. File ekstensi ini merupakan bagian dari apk android (aplikasi paket) dan jar (file yang membentuk sebagian besar gui android) file yang berada dalam sistem. Anda dapat menemukan file odex di /sistem/app/ dan /system/framework/.
Proses deodexing dilakukan dengan cara mengcompile ulang file odex dalam format dex. Dan menempatkan kembali file dex tersebut kedalam apk atau jar.
Tujuan dari deodexing adalah mempermudah pengeditan file jar atau apk. Sebagian besar kode untuk file-file tersebut bagian dalam odex, yang tidak dapat dikompilasi ulang jika masih berformat odex. Setelah file file tersebut dikompile ulang menjadi file dex(jasil dari deodex). Hal ini memungkinkan kita untuk merubah xml theme, apk dan menambahkan fitur tambahan yang melibatkan pengeditan file smali. (mirip dengan file class di java berisi kode java) . Deodexing juga menghemat space di system dan membuat system berjalan lebih cepat, walaupun ga terlalu signifikan..
Sumber: Kaskus
Nah udah sedikit paham kan pengertian deodex itu sendiri? He
Nah sekarang saya akan coba berbagi bagai mana cara mendeodex Android. Oya pendeodexan ini saya lakukan di System Operasi Linux. Distro Linux yang saya akan jelaskan di sini ada 2 yaitu Ubuntu 12.04 dan Slackware 13.37.
Untuk distro yg lain juga sama kok caranya.
Pertama-tama kita download dulu bahan-bahanya:
  1. Install adb di PC/Laptop. Caranya dengan mengikuti tutorial di sini
  2. Install git.
    Untuk Ubuntu bisa dengan cara:
    $ sudo apt-get install git
    Untuk Slackware biasanya aplikasi git sudah ada secara default. Dan apabila gitnya belum ada, bisa coba install dari sini
  3. Install java jdk dan jre
    Untuk Ubuntu dengan cara:
    $ sudo apt-get install openjdk-6-jdk openjdk-6-jre
    Untuk Slackware biasanya juga secara default sudah terinstall, tapi apabila belum terinstall, bisa install dari sini
  4. Download file Android Kitchen dengan perintah:
    $ cd /home/UserNameAnda/Downloads
    $ git clone git://github.com/dsixda/Android-Kitchen.git
  5. Nah setelah melakukan perintah di atas, biasanya akan lama, soalnya melakukan kloning file android kitchen yg besarnya kira-kira 20Mb.
Setelah bahan-bahannya sudah lengkap, sekarang kita coba aja memasuki caranya.He
Sebenarnya caranya agak panjang, dan gak semudah seperti memakai Xultimate, tapi ya lumayanlah patut di cobain bagi pengguna Linux.
Caranya:
  1. Colokkan Hp (Galpop+) ke PC dan jangan lupa untuk mengaktifkan mode usb debunggin di Hp. Dengan cara Settings --> Aplications --> Depelopment --> dan centang USB debugging
  2. Buka Terminal/Konsol lagi, lalu ketik ini:
    $ cd /home/UserNameAnda/Downloads
    $ mkdir app
    $ mkdir framework
  3. Setelah itu, lakukan perintah ini:
    $ adb pull /system/app/ app/
    Nah setelah melakukan perintah di atas, maka adb akan mengambil semua file di /system/app dan di simpan ke folder yang kita buat sebelumnya (app)
  4. Selanjutnya lakukan perintah ini:
    $ adb pull /system/framework/ framework/
    Pada perintah di atas adalah untuk mengambil semua file di /system/framework dan di simpan ke folder yang kita buat sebelumnya (framework)
  5. Selanjutnya download file update.zip dan simpan di /home/UserNameAnda/Downloads. Download di sini atau download disini
  6. Setelah di download, ekstrak filenya dengan perintah:
    $ cd /home/UserNameAnda/Downloads
    $ unzip update.zip
  7. Sekarang saatnya copy paste folder app yang sebelumnya kita sudah buatkan tadi dan di paste ke folder hasil ekstrakan update.zip. Caranya copy folder app dan simpan di folder update --> system --> taruh disini folder app. Atau dengan cara:
    $ cp -r app/ update/system/
  8. Tadi kan kita copy paste folder app, sekarang saatnya copy paste folder framework ke folder update. Caranya juga sama seperti di atas. Atau bisa dengan cara ini:
    $ cp -r framework/ update/system/
  9. Setelah itu kita hapus file update.zip dan buat lagi file update.zip dengan perintah:
    $ rm update.zip
    $ cd update
    $ zip -r update.zip META-INF/ system/
  10. Setelah itu saatnya memindahkan file update.zip Android Kitchen yg sebelumnya sudah kita clone tadi dan terletak di folder /home/UserNameAnda/Downloads/Android-Kitchen. Caranya:
    $ cp update.zip /home/UserNameAnda/Downloads/Android-Kitchen/original_update/
  11. Setelah itu saatnya kita bermain mendeodex android. Caranya:
    $ cd /home/UserNameAnda/Downloads/Android-Kitchen/
  12. Lalu kita masuk ke menu Android-Kitchen. Caranya:
    $ chmod +x menu
    $ ./menu
  13. Apabila langkah-langkahnya benar, maka kita akan masuk ke menu seperti ini:
  14. Selanjutnya ketik angka 1 lalu enter. Apabila muncul pertanyaan, langsung pencet enter kembali.
    Nanti setelah itu akan muncul pertanyaan kembali "Available Roms". Ketik lagi 1 lalu enter
  15. Lalu nanti ada pertanyaan lagi seperti ini The new working folder will be named WORKING_052312_055105, pencet saja n lalu enter
  16. Apabila muncul pertanyaan lagi seperti ini:

    Warning: A valid boot.img is not found.  You have the option to add a
             'fake' boot.img so that the features of the kitchen can still
             function normally.

             This boot.img will be automatically removed from your ROM's
             ZIP file when it is built.

    Add boot.img (y/n)? (default: y):
    Ketik saja y lalu enter.
  17. Lalu apabila muncul pertanyaan seperti ini:

    Choose an option number:

      1 = Convert it to update-script (recommended)
      2 = Do nothing, keep the updater-script

    - Option #1 will do a conversion of the updater-script
      (Edify) into an update-script (Amend). NOTE: It can
      be changed back to Edify format when ROM is built.

    - Option #2 should only be used if you wish not to use
      any of the options in the kitchen other than to
      build the ROM or to convert to update-script later.

    ? (default=1)
    Pencet lagi angka 1 lalu enter. Dan apabila ada pertanyaan lagi pencet y lalu enter.
  18. Lalu apabila benar akan muncul seperti ini:

    Working folder information

     Android OS version                        : 2.3.6
     Device                                            : GT-S5570I
     Model                                             : GT-S5570I
     ROM Name                                   : Underground's Rom
     Rooted (Superuser.apk + su)          : NO
     Rooted (unsecured boot.img)          : UNKNOWN
     BusyBox installed                           : NO
     BusyBox run-parts support             : NO
     Apps2SD (Apps to EXT) enabled  : NO
     /data/app enabled                           : NO
     Custom boot animation allowed      : NO
     Nano text editor installed                : NO
     Bash shell support                           : NO
     /system/framework is deodexed      : NO
     /system/app is deodexed                 : NO
     radio.img found                               : NO
     ROM will wipe all data                   : NO
    Langsung pencet saja enter. Dan nanti kita akan masuk ke menu awal Android Kitchen.
  19. Setelah balik lagi ke menu awal. seperti ini:
  20. Nah lalu pencet angka nol, dan enter, nanti akan masuk ke menu seperti ini:
  21. Setelah masuk ke menu di atas, ketik 11 lalu enter. Nanti akan muncul menu seperti ini:

  22. Lalu ketik saja f lalu enter. Dan apabila muncul pertanyaan kembali ketik y lalu enter.
  23. Tunggu beberapa menit. Sambil nunggu bisa minum kopi,teh atau makan cemilan dulu.Hehe
  24. Apabila telah selesai, maka akan muncul pertanyaan Press enter to continue. Jadi langsung aja pencet enter
  25. Nanti akan masuk ke menu seperti ini:
    Lalu ketik saja a dan enter. Dan apabila muncul pertanyaan ketik saja y lalu enter
  26. Tunggu lagi beberapa menit. Sambil nunggu bisa minum kopi,teh atau makan cemilan dulu.Hehe
  27. Nanti apabila sudah selesai, akan muncul pertanyaan Press enter to continue. Jadi pencet saja enter dan nanti akan balik ke menu seperti ini:
  28. Lalu saatnya kita keluar dari menu Android Kitchen dengan cara ketik nol enter lalu x dan enter (Ctrl+c).
Nah dengan perintah di atas tadi adalah cara untuk mendeodex android (Khususnya pada gapop+). Dan sekarang saatnya kita melakukan push semua aplikasi yang telah terdeodex tadi ke system android kita. Berikut ini cara-caranya:
  1. Masuk ke folder Working di Android Kitchen dengan cara:
    $ cd /home/slack02/Downloads/Android-Kitchen/WORKING*
  2. Masuk ke folder system dengan perintah:
    $ cd system
  3. Colokkan Hp ke PC/Laptop Kembali
  4. Buat folder frame dan app di sdcard dengan perintah:
    $ adb shell mkdir /mnt/sdcard/app
    $ adb shell mkdir /mnt/sdcard/frame
  5. Saatnya copy semua file yang ada di direktory framework android kitchen ke /mnt/sdcard/frame:
    $ adb push framework/ /mnt/sdcard/frame
  6. Copy paste juga semua file yang ada di direktory app ke /mnt/sdcard/app dengan perintah:
    $ adb push app/ /mnt/sdcard/app
  7. Selanjutnya adalah dengan mengikuti semua perintah ini di terminal/konsol:
    $ adb shell
    $ su
    # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    # cp /sdcard/APP/* /system/app/
    # chmod 644 /system/app/*
    # rm /system/app/*.odex
    # cp /sdcard/FRAME/* /system/framework/
    # chmod 644 /system/framework/
    # rm /system/framework/*.odex
    # mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
    # reboot
Catatan: untuk mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system adalah memounting file system android. Untuk masing-masing vendor device biasanya akan berbeda. Jadi silahkan cari di google ya? Hehe. Kalau tipe samsung mungkin perintahnya seperti itu semua.

Dan selesai dah.He
Selamat android anda sudah terdeodex. Caranya agak ribet ya? Wajar lah, ini hasil percobaan saya selama 8hari, soalnya saya cari kemana-mana tidak ketemu tutorial untuk Linux, alhasil saya coba-coba sendiri dan ketemulah cara seperti di atas. Jadi di maklumin saja kalo ribet..
Oya penulis tidak bertanggung jawab apabila terjadi kerusakan pada device Anda!!
Sumber tools for Linux: Xda-Developer
Pantang menyerah apabila menemukan masalah

2 komentar:

  1. deodex itu harus pake stock rom ya pak?

    saya sudah pake cm10 a6 apa itu otomatis deodex apa ga pak?

    BalasHapus
    Balasan
    1. Kalau pakai cyanogen itu udah deodex gan..

      Hapus