mirror of https://github.com/kurisufriend/Clover
parent
c11327a03d
commit
8ad8c4cc8d
@ -0,0 +1,132 @@ |
|||||||
|
# Preverification is irrelevant for the dex compiler and the Dalvik VM. |
||||||
|
|
||||||
|
-dontpreverify |
||||||
|
|
||||||
|
# Reduce the size of the output some more. |
||||||
|
|
||||||
|
-repackageclasses '' |
||||||
|
-allowaccessmodification |
||||||
|
|
||||||
|
# Switch off some optimizations that trip older versions of the Dalvik VM. |
||||||
|
|
||||||
|
-optimizations !code/simplification/arithmetic,!code/allocation/variable |
||||||
|
|
||||||
|
# Keep a fixed source file attribute and all line number tables to get line |
||||||
|
# numbers in the stack traces. |
||||||
|
# You can comment this out if you're not interested in stack traces. |
||||||
|
|
||||||
|
-renamesourcefileattribute SourceFile |
||||||
|
-keepattributes SourceFile,LineNumberTable |
||||||
|
|
||||||
|
# RemoteViews might need annotations. |
||||||
|
|
||||||
|
-keepattributes *Annotation* |
||||||
|
|
||||||
|
# Preserve all fundamental application classes. |
||||||
|
|
||||||
|
-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 |
||||||
|
|
||||||
|
# Preserve all View implementations, their special context constructors, and |
||||||
|
# their setters. |
||||||
|
|
||||||
|
-keep public class * extends android.view.View { |
||||||
|
public <init>(android.content.Context); |
||||||
|
public <init>(android.content.Context, android.util.AttributeSet); |
||||||
|
public <init>(android.content.Context, android.util.AttributeSet, int); |
||||||
|
public void set*(...); |
||||||
|
} |
||||||
|
|
||||||
|
# Preserve all classes that have special context constructors, and the |
||||||
|
# constructors themselves. |
||||||
|
|
||||||
|
-keepclasseswithmembers class * { |
||||||
|
public <init>(android.content.Context, android.util.AttributeSet); |
||||||
|
} |
||||||
|
|
||||||
|
# Preserve all classes that have special context constructors, and the |
||||||
|
# constructors themselves. |
||||||
|
|
||||||
|
-keepclasseswithmembers class * { |
||||||
|
public <init>(android.content.Context, android.util.AttributeSet, int); |
||||||
|
} |
||||||
|
|
||||||
|
# Preserve the special fields of all Parcelable implementations. |
||||||
|
|
||||||
|
-keepclassmembers class * implements android.os.Parcelable { |
||||||
|
static android.os.Parcelable$Creator CREATOR; |
||||||
|
} |
||||||
|
|
||||||
|
# Preserve static fields of inner classes of R classes that might be accessed |
||||||
|
# through introspection. |
||||||
|
|
||||||
|
-keepclassmembers class **.R$* { |
||||||
|
public static <fields>; |
||||||
|
} |
||||||
|
|
||||||
|
# Preserve the required interface from the License Verification Library |
||||||
|
# (but don't nag the developer if the library is not used at all). |
||||||
|
|
||||||
|
-keep public interface com.android.vending.licensing.ILicensingService |
||||||
|
|
||||||
|
-dontnote com.android.vending.licensing.ILicensingService |
||||||
|
|
||||||
|
# The Android Compatibility library references some classes that may not be |
||||||
|
# present in all versions of the API, but we know that's ok. |
||||||
|
|
||||||
|
-dontwarn android.support.** |
||||||
|
|
||||||
|
# Preserve all native method names and the names of their classes. |
||||||
|
|
||||||
|
-keepclasseswithmembernames class * { |
||||||
|
native <methods>; |
||||||
|
} |
||||||
|
|
||||||
|
# Preserve the special static methods that are required in all enumeration |
||||||
|
# classes. |
||||||
|
|
||||||
|
-keepclassmembers class * extends java.lang.Enum { |
||||||
|
public static **[] values(); |
||||||
|
public static ** valueOf(java.lang.String); |
||||||
|
} |
||||||
|
|
||||||
|
# Explicitly preserve all serialization members. The Serializable interface |
||||||
|
# is only a marker interface, so it wouldn't save them. |
||||||
|
# You can comment this out if your application doesn't use serialization. |
||||||
|
# If your code contains serializable classes that have to be backward |
||||||
|
# compatible, please refer to the manual. |
||||||
|
|
||||||
|
-keepclassmembers class * implements java.io.Serializable { |
||||||
|
static final long serialVersionUID; |
||||||
|
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(); |
||||||
|
} |
||||||
|
|
||||||
|
# Your application may contain more items that need to be preserved; |
||||||
|
# typically classes that are dynamically created using Class.forName: |
||||||
|
|
||||||
|
# -keep public class mypackage.MyClass |
||||||
|
# -keep public interface mypackage.MyInterface |
||||||
|
# -keep public class * implements mypackage.MyInterface |
||||||
|
|
||||||
|
# OrmLite uses reflection |
||||||
|
-keep class com.j256.** |
||||||
|
-keepclassmembers class com.j256.** { *; } |
||||||
|
-keep enum com.j256.** |
||||||
|
-keepclassmembers enum com.j256.** { *; } |
||||||
|
-keep interface com.j256.** |
||||||
|
-keepclassmembers interface com.j256.** { *; } |
||||||
|
|
||||||
|
# Clover database models |
||||||
|
-keep class org.floens.chan.core.model.** { *; } |
||||||
|
|
||||||
|
# Jsoup |
||||||
|
-keep public class org.jsoup.** { |
||||||
|
public *; |
||||||
|
} |
Loading…
Reference in new issue