proguard使apk完成并进行转储,映射,种子但不会混淆

时间:2017-01-25 05:02:03

标签: java android eclipse apk proguard

Eclipse版

  1. 我使用proguard所以输出dump.txt mapping.txt seeds.txt

  2. 制作APK项目名称 - >出口 - > Android - >导出单挑Android 应用

  3. 输出apk - > decomplie但没有混淆
  4. 为什么不混淆?让我知道

    来源

    project.properties

    proguard.config = proguard.cfg

    proguard.cfg

    # This is a configuration file for ProGuard.
    # http://proguard.sourceforge.net/index.html#manual/usage.html
    
    
    -dontusemixedcaseclassnames
    -dontskipnonpubliclibraryclasses
    -verbose
    
    # Optimization is turned off by default. Dex does not like code run
    # through the ProGuard optimize and preverify steps (and performs some
    # of these optimizations on its own).
    -dontoptimize
    -dontpreverify
    # Note that if you want to enable optimization, you cannot just
    # include optimization flags in your own project configuration file;
    # instead you will need to point to the
    # "proguard-android-optimize.txt" file instead of this one from your
    # project.properties file.
    
    -keepattributes *Annotation*
    -keep public class com.google.vending.licensing.ILicensingService
    -keep public class com.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.
    # see http://proguard.sourceforge.net/manual/examples.html#beans
    -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 android.os.Parcelable$Creator CREATOR;
    }
    
    -keepclassmembers class **.R$* {
        public static <fields>;
    }
    
    # The support library 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.
    -dontwarn android.support.**
    
    # Understand the @Keep support annotation.
    -keep class android.support.annotation.Keep
    
    -keep @android.support.annotation.Keep class * {*;}
    
    -keepclasseswithmembers class * {
        @android.support.annotation.Keep <methods>;
    }
    
    -keepclasseswithmembers class * {
        @android.support.annotation.Keep <fields>;
    }
    
    -keepclasseswithmembers class * {
        @android.support.annotation.Keep <init>(...);
    }
    
    
    
    -allowaccessmodification 
    -repackageclasses ""
    
    
    
    -dontshrink
    
    # Retain declared checked exceptions for use by a Proxy instance.
    -dontwarn org.w3c.dom.bootstrap.DOMImplementationRegistry
    
    
    
    #################################################################################################
    # My Code
    -dontwarn android.support.v4.**
    -dontwarn okio.**
    -dontwarn com.squareup.okhttp.**
    -dontwarn org.apache.**
    

1 个答案:

答案 0 :(得分:0)

Eclipse仍在使用ADT而不是Gradle来导出Android应用程序。您可以在Eclipse中使用Gradle,如我在此处所述:https://stackoverflow.com/a/47112271/5981535