Senin, 10 November 2014

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 sanggup dipungkiri, di negara-negara berkembang menyerupai Indonesia salah satu penentu pengunduhan aplikasi Android ialah ukurannya! Ya, alasannya ialah sayang sekali jikalau kita menghabiskan kuota banyak kemudian akibatnya 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 ialah mengaktifkan ProGuard di proyek Android kita. Hal ini akan mengurangi koding-koding yang tidak perlu di aplikasi, sehingga akan mengurangi ukurannya. Lumayan lah sanggup ngecilin APK. Bagi developer yang suka memakai WebView terutama yang menyebatkan fungsi JavascriptInterface dengan diaktifkannya ProGuard kemungkinan fungsinya akan hilang. Kecuali kita setting Proguard semoga memperbolehkan sanksi 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 semoga ProGuard tidak memunculkan error
-dontwarn

#setting semoga beberapa atribut di instruksi tidak dihilangkan

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

#setting semoga javascriptInterface sanggup aktif, punya aku 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, instruksi kita akan terlindungi dari decompile, meskipun tidak semuanya.


Sumber https://www.zooba.id/