【发布时间】:2015-06-10 17:15:32
【问题描述】:
我想使用 proguard 混淆我的 Android Studio 项目中的一些类。这些是 com.myproject.fragments 文件夹中的一些片段。所有这些类都扩展了 Android 的 Fragment 类。似乎到目前为止,我的 proguard 规则正在将这些类排除在混淆之外。请告诉我如何编辑我的 proguard 规则文件以使这种混淆发生。
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*
-keepattributes Signature
-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.content.Context
-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*(...);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.content.Context {
public void *(android.view.View);
public void *(android.view.MenuItem);
}
-keepclassmembers class * implements android.os.Parcelable {
static ** CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
# Preserve the special static methods that are required in all enumeration classes.
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
public *;
}
-keep public enum com.sync.model$** {
**[] $VALUES;
public *;
}
# Application classes that will be serialized/deserialized over Gson
-keep class com.myproject.models.** { *; }
-keep class com.myproject.httputils.** { *; }
-keep class com.facebook.** {
*;
}
-keep class com.androidplot.** { *; }
-keepclassmembers class * extends com.actionbarsherlock.ActionBarSherlock {
<init>(android.app.Activity, int);
}
# Gson specific classes
#-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }
【问题讨论】:
标签: java android android-fragments proguard