| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- # 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 *;
- #}
- #-libraryjars /libs/android-support-v4.jar
- #-libraryjars /libs/httpmime-4.1.1.jar
- -dontwarn android.support.v4.**
- -dontwarn com.google.android.gms.**
- -dontwarn javax.naming.**
- #-keep class com.usai.redant.camera.CameraManager
- #-keep class javax.naming.*
- #-keep class com.usai.apex.apexcrm.RAJSInterface {*;}
- # 保持哪些类不被混淆
- #继承activity,application,service,broadcastReceiver,contentprovider....不进行混淆
- -keep public class * extends android.app.Activity
- -keep public class * extends android.app.Application
- -keep public class * extends android.support.multidex.MultiDexApplication
- -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.view.View
- -keep class android.support.** {*;}## 保留support下的所有类及其内部类
- -keep public class com.google.vending.licensing.ILicensingService
- -keep public class com.android.vending.licensing.ILicensingService
- -keep class * extends com.usai.redant.rautils.base.NoProguard {*;}
- -keep class javax.naming.*
- #表示不混淆上面声明的类,最后这两个类我们基本也用不上,是接入Google原生的一些服务时使用的。
- #----------------------------------------------------
- # 保留继承的
- -keep public class * extends android.support.v4.**
- -keep public class * extends android.support.v7.**
- -keep public class * extends android.support.annotation.**
- # Remove all Verbose/Debug logging
- -optimizations code/removal/simple,code/removal/advanced
- -dontobfuscate
- -assumenosideeffects class android.util.Log {
- public static *** d(...);
- public static *** v(...);
- public static *** i(...);
- }
- #-keep class com.baidu.** {*;}
- #-keep class com.baidu.mapapi.** {*;}
- -keep class vi.com.gdi.bgl.** {*;}
- #-------------------------------
- # This is a configuration file for ProGuard.
- # http://proguard.sourceforge.net/index.html#manual/usage.html
- #
- # Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with
- # the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and
- # will be ignored by new version of the Android plugin for Gradle.
- # Optimizations: If you don't want to optimize, use the proguard-android.txt configuration file
- # instead of this one, which turns off the optimization flags.
- # Adding optimization introduces certain risks, since for example not all optimizations performed by
- # ProGuard works on all versions of Dalvik. The following flags turn off various optimizations
- # known to have issues, but the list may not be complete or up to date. (The "arithmetic"
- # optimization can be used if you are only targeting Android 2.0 or later.) Make sure you test
- # thoroughly if you go this route.
- -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
- -optimizationpasses 5
- #-allowaccessmodification
- -dontusemixedcaseclassnames
- -dontskipnonpubliclibraryclasses
- -verbose
- # Preserve some attributes that may be required for reflection.
- -keepattributes *Annotation*,Signature,InnerClasses,EnclosingMethod
- -keep public class com.google.vending.licensing.ILicensingService
- -keep public class com.android.vending.licensing.ILicensingService
- -keep public class com.google.android.vending.licensing.ILicensingService
- -dontnote com.android.vending.licensing.ILicensingService
- -dontnote com.google.vending.licensing.ILicensingService
- -dontnote com.google.android.vending.licensing.ILicensingService
- # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
- -keepclasseswithmembernames class * {
- native <methods>;
- }
- # Keep setters in Views so that animations can still work.
- -keepclassmembers public class * extends android.view.View {
- void set*(***);
- *** get*();
- }
- # We want to keep methods in Activity that could be used in the XML attribute onClick.
- -keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
- }
- # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keepclassmembers class * implements android.os.Parcelable {
- public static final ** CREATOR;
- }
- -keepclassmembers class **.R$* {
- public static <fields>;
- }
- # Preserve annotated Javascript interface methods.
- -keepclassmembers class * {
- @android.webkit.JavascriptInterface <methods>;
- }
- # The support libraries contains references to newer platform versions.
- # Don't warn about those in case this app is linking against an older
- # platform version. We know about them, and they are safe.
- -dontnote android.support.**
- -dontnote androidx.**
- -dontwarn android.support.**
- -dontwarn androidx.**
- # This class is deprecated, but remains for backward compatibility.
- -dontwarn android.util.FloatMath
- # Understand the @Keep support annotation.
- -keep class android.support.annotation.Keep
- -keep class androidx.annotation.Keep
- -keep @android.support.annotation.Keep class * {*;}
- -keep @androidx.annotation.Keep class * {*;}
- -keepclasseswithmembers class * {
- @android.support.annotation.Keep <methods>;
- }
- -keepclasseswithmembers class * {
- @androidx.annotation.Keep <methods>;
- }
- -keepclasseswithmembers class * {
- @android.support.annotation.Keep <fields>;
- }
- -keepclasseswithmembers class * {
- @androidx.annotation.Keep <fields>;
- }
- -keepclasseswithmembers class * {
- @android.support.annotation.Keep <init>(...);
- }
- -keepclasseswithmembers class * {
- @androidx.annotation.Keep <init>(...);
- }
- # These classes are duplicated between android.jar and org.apache.http.legacy.jar.
- -dontnote org.apache.http.**
- -dontnote android.net.http.**
- # These classes are duplicated between android.jar and core-lambda-stubs.jar.
- -dontnote java.lang.invoke.**
|