zoukankan      html  css  js  c++  java
  • 混淆的小记录

    http://www.cnblogs.com/classic/archive/2011/04/27/2030234.html
    http://blog.sina.com.cn/s/blog_83940dfb0100zc5g.html

    http://blog.chinaunix.net/uid-20665441-id-3016262.html
    http://blog.sina.com.cn/s/blog_5a3834930101bgcn.html

    ##---------------Begin: proguard configuration common for all Android apps ----------
    -optimizationpasses 5 #代码进行迭代优化的次数
    -dontusemixedcaseclassnames #混淆时不会产生形形色色的类名
    -dontskipnonpubliclibraryclasses #指定不去忽略非公共的库类
    -dontskipnonpubliclibraryclassmembers #指定不去忽略非公共的库类成员
    -dontpreverify #不要预先验证
    -verbose #冗长的
    -dump class_files.txt #废弃class_files.txt
    -printseeds seeds.txt #打印seeds.txt
    -printusage unused.txt #打印unused.txt
    -printmapping mapping.txt #打印mapping.txt
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* #优化

    -allowaccessmodification
    -keepattributes *Annotation*
    -renamesourcefileattribute SourceFile
    -keepattributes SourceFile,LineNumberTable
    -repackageclasses ''

    -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 com.android.vending.licensing.ILicensingService
    -dontnote com.android.vending.licensing.ILicensingService

    # Explicitly preserve all serialization members. The Serializable interface
    # is only a marker interface, so it wouldn't save them.
    -keepclassmembers class * implements java.io.Serializable {
    static final long serialVersionUID;
    private static final java.io.ObjectStreamField[] serialPersistentFields;
    private void writeObject(java.io.ObjectOutputStream);
    private void readObject(java.io.ObjectInputStream);
    java.lang.Object writeReplace();
    java.lang.Object readResolve();
    }

    # Preserve all native method names and the names of their classes.
    -keepclasseswithmembernames class * {
    native <methods>;
    }

    -keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet);
    }

    -keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
    }

    # Preserve static fields of inner classes of R classes that might be accessed
    # through introspection.
    -keepclassmembers class **.R$* {
    public static <fields>;
    }

    # Preserve the special static methods that are required in all enumeration classes.
    -keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
    }

    -keep public class * {
    public protected *;
    }

    -keep class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
    }
    ##---------------End: proguard configuration common for all Android apps ----------

    ##---------------Begin: proguard configuration for Gson ----------
    # Gson uses generic type information stored in a class file when working with fields. Proguard
    # removes such information by default, so configure it to keep all of it.
    -keepattributes Signature

    # Gson specific classes
    -keep class sun.misc.Unsafe { *; }
    #-keep class com.google.gson.stream.** { *; }

    # Application classes that will be serialized/deserialized over Gson
    -keep class com.google.gson.examples.android.model.** { *; }

    ##---------------End: proguard configuration for Gson ----------
    ##---------------Begin: proguard configuration for webview ----------
    -keepclassmembers class fqcn.of.javascript.interface.for.webview {
    public *;
    }
    ##---------------End: proguard configuration for webview ----------

  • 相关阅读:
    003random随机数模块
    002---time & datetime
    001---包和模块
    000软件开发规范
    python函数篇
    LeetCode OJ:Construct Binary Tree from Preorder and Inorder Traversal(从前序以及中序遍历结果中构造二叉树)
    LeetCode OJ:Flatten Binary Tree to Linked List(捋平二叉树)
    LeetCode OJ:Convert Sorted Array to Binary Search Tree(将排序好的数组转换成二叉搜索树)
    LeetCode OJ:Count Complete Tree Nodes(完全二叉树的节点数目)
    LeetCode OJ:Validate Binary Search Tree(合法的二叉搜索树)
  • 原文地址:https://www.cnblogs.com/ZSS-Android/p/4453070.html
Copyright © 2011-2022 走看看