Kompres Ukuran APK dengan Setting ProGuard di Eclipse Terbaru Terviral

Kompres Ukuran APK dengan Setting ProGuard di Eclipse

Kompres Ukuran APK dengan ProGuard di Eclipse | Small APK with Proguard in Eclipse IDE | How to Set ProGuard in Eclipse IDE with Webview – ZOOBA – Tidak dapat dipungkiri, di negara-negara berkembang seperti Indonesia salah satu penentu pengunduhan aplikasi Android adalah ukurannya! Ya, karena sayang sekali kalau kita menghabiskan kuota banyak lalu hasilnya tidak sepadan. Aplikasi sejenis yang LEBIH KECIL menjadi pilihan pertama. Hahaha paling tidak bagi saya.

 

Kompres Ukuran APK dengan ProGuard di Eclipse | Small APK with Proguard in Eclipse IDE | How to Set ProGuard in Eclipse IDE with Webview – ZOOBA – Salah satu caranya adalah mengaktifkan ProGuard di proyek Android kita. Hal ini akan mengurangi koding-koding yang tidak perlu di aplikasi, sehingga akan mengurangi ukurannya. Lumayan lah bisa ngecilin APK. Bagi developer yang suka menggunakan WebView terutama yang menyebatkan fungsi JavascriptInterface dengan diaktifkannya ProGuard kemungkinan fungsinya akan hilang. Kecuali kita setting Proguard agar memperbolehkan eksekusi JavascriptInterface di WebView kita.

Cara setting progruard di Eclipse dengan webview beserta JavascriptInterface adalah:

1. Di Eclipse, lihat pada Package Explorer, buka proyek kita. Temukan file project.properties

2. Buka di editor, cari bagian:

# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
# proguard.config=${sdk.dir}\\tools\\proguard\\proguard-android.txt:proguard-project.txt

kemudian hilangkan tanda pagar menjadi

# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
proguard.config=${sdk.dir}\\tools\\proguard\\proguard-android.txt:proguard-project.txt

3. Pada file proguard.project.txt kita buka di editor, kemudian replace dengan punya saya, lihat # untuk keterangannya:

# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
#  
http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:

# dontwarn agar ProGuard tidak memunculkan error
-dontwarn

#setting agar beberapa atribut di kode tidak dihilangkan

-keepattributes Signature
-keepattributes SetJavaScriptEnabled
-keepattributes JavascriptInterface
-keepattributes InlinedApi
-keepattributes SourceFile,LineNumberTable
-keepattributes *Annotation*

#setting agar javascriptInterface bisa aktif, punya saya pake kelas JSInterfaceX, silakan sesuaikan punya anda

-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}
-keepclassmembers class **.*$JSInterfaceX {
    *;
}
-keepclassmembers class **.*$JavaScriptInterface {
    *;
}

-keep public class **.*$JSInterfaceX
-keep public class **.*$JavaScriptInterface

# Agar Iklan Google tetap muncul di ProGuard, ini bagi yang memasang Admob
-keep class com.google.android.gms.** {*;}
-dontwarn com.google.android.gms.**

4. Simpan semua. Lalu Export APK, bandingkan ukurannya dengan yang tidak pake ProGuard. Bagusnya, dengan Proguard, kode kita akan terlindungi dari decompile, meskipun tidak semuanya.

No comments:

Post a Comment