Android 混淆代码详解及实例

  # 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:

  #-keepclassmembers class fqcn.of.javascript.interface.for.webview {

  # public *;

  #}

  -optimizationpasses 5

  -dontusemixedcaseclassnames

  -dontskipnonpubliclibraryclasses

  -dontpreverify

  -verbose

  -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

  -keepattributes *Annotation*

  -keepattributes Signature

  -libraryjars libs/apns_1.0.6.jar

  -libraryjars libs/armeabi/libBaiduMapSDK_v2_3_1.so

  -libraryjars libs/armeabi/liblocSDK4.so

  -libraryjars libs/baidumapapi_v2_3_1.jar

  -libraryjars libs/core.jar

  -libraryjars libs/gesture-imageview.jar

  -libraryjars libs/gson-2.0.jar

  -libraryjars libs/infogracesound.jar

  -libraryjars libs/locSDK_4.0.jar

  -libraryjars libs/ormlite-android-4.48.jar

  -libraryjars libs/ormlite-core-4.48.jar

  -libraryjars libs/universal-image-loader-1.9.0.jar

  -keep class com.baidu.** { *; }

  -keep class vi.com.gdi.bgl.android.**{*;}

  -keep public class * extends android.app.Fragment

  -keep public class * extends android.app.Activity

  -keep public class * extends android.app.Application

  -keep public class * extends android.app.Service

  -keep public class * extends android.content.BroadcastReceiver

  -keep public class * extends android.content.ContentProvider

  -keep public class * extends android.app.backup.BackupAgentHelper

  -keep public class * extends android.preference.Preference

  -keep public class * extends android.support.v4.**

  -keep public class com.android.vending.licensing.ILicensingService

  -keep class com.google.gson.stream.** { *; }

  -keep class com.google.gson.examples.android.model.** { *; }

  -keep class com.uuhelper.Application.** { *; }

  -keep class net.sourceforge.zbar.** { *; }

  -keep class com.google.android.gms.** { *; }

  -keep class com.bank.pingan.model.** { *; }

  -keep public class * extends com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper

  -keep public class * extends com.j256.ormlite.android.apptools.OpenHelperManager

  -keep class com.android.vending.licensing.ILicensingService

  -keep class android.support.v4.** { *; }

  -keep class org.apache.commons.net.** { *; }

  -keep class com.tencent.** { *; }

  -keep class com.umeng.** { *; }

  -keep class com.umeng.analytics.** { *; }

  -keep class com.umeng.common.** { *; }

  -keep class com.umeng.newxp.** { *; }

  -keep class com.j256.ormlite.** { *; }

  -keep class com.j256.ormlite.android.** { *; }

  -keep class com.j256.ormlite.field.** { *; }

  -keep class com.j256.ormlite.stmt.** { *; }

  -dontwarn android.support.v4.**

  -dontwarn org.apache.commons.net.**

  -dontwarn com.tencent.**

  -keepclasseswithmembernames class * {

  native ;

  }

  -keepclasseswithmembernames class * {

  public (android.content.Context, android.util.AttributeSet);

  }

  -keepclasseswithmembernames class * {

  public (android.content.Context, android.util.AttributeSet, int);

  }

  -keepclassmembers enum * {

  public static **[] values();

  public static ** valueOf(java.lang.String);

  }

  -keep class * implements android.os.Parcelable {

  public static final android.os.Parcelable$Creator *;

  }

  -keepclasseswithmembers class * {

  public (android.content.Context);

  }

  -dontshrink

  -dontoptimize

  -dontwarn com.google.android.maps.**

  -dontwarn android.webkit.WebView

  -dontwarn com.umeng.**

  -dontwarn com.tencent.weibo.sdk.**

  -dontwarn com.facebook.**

  -keep enum com.facebook.**

  -keepattributes Exceptions,InnerClasses,Signature

  -keepattributes *Annotation*

  -keepattributes SourceFile,LineNumberTable

  -keep public interface com.facebook.**

  -keep public interface com.tencent.**

  -keep public interface com.umeng.socialize.**

  -keep public interface com.umeng.socialize.sensor.**

  -keep public interface com.umeng.scrshot.**

  -keep public class com.umeng.socialize.* {*;}

  -keep public class javax.**

  -keep public class android.webkit.**

  -keep class com.facebook.**

  -keep class com.umeng.scrshot.**

  -keep public class com.tencent.** {*;}

  -keep class com.umeng.socialize.sensor.**

  -keep class com.tencent.mm.sdk.openapi.WXMediaMessage {*;}

  -keep class com.tencent.mm.sdk.openapi.** implements com.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {*;}

  -keep class im.yixin.sdk.api.YXMessage {*;}

  -keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}

  -keep public class [your_pkg].R$*{

  public static final int *;

  }