Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

135 lines
4.0 KiB
Plaintext

#MM Proguard Settings for PraxisClone
# this is an extension to the recommended settings for android
# provided in the default android proguard configuration
#
# This file should only be edited if PraxisClone requires base configuration changes
# please put project specific directives in proguard-specific.txt
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface class:
#-keepclassmembers class com.example.android.fragment.dialog.WebPortalDialogFragment$SSOInterface {
# public *;
#}
-target 1.6
-optimizationpasses 5
# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native <methods>;
}
-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient
-dontwarn android.webkit.WebView
-dontwarn android.net.http.SslError
-dontwarn android.webkit.WebViewClient
#This will print mappings - very useful for troubleshooting.
-dump ./build/class_files.txt
-printseeds ./build/seeds.txt
-printusage ./build/unused.txt
-printmapping ./build/mapping.txt
#Some recommended settings for running with Android
-keepattributes **
-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.Fragment
-keep public class * extends android.support.v4.app.Fragment
# There's no way to keep all @Observes methods, so use the On*Event convention to identify event handlers
-keepclassmembers class * {
void *(**On*Event);
}
#Need this to keep serializable members as is
-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();
}
#Handling library optimization
#-repackageclasses ''
-allowaccessmodification
# The -optimizations option disables some arithmetic simplifications that Dalvik 1.0 and 1.5 can't handle.
-optimizations !code/simplification/arithmetic,!code/allocation/variable
-keep public enum * {}
-keep public interface * {}
-keepattributes **
# Keep db4o around
-keep public class com.db4o.** { *; }
-dontwarn sun.misc.Unsafe
# Keep httpmime around
-keep class org.apache.** { *; }
# Keep gson around
-keep class com.google.gson.stream.** { *; }
# Keep hockey around
-keep class net.hockeyapp.** { *; }
# Keep system tests
-keep class com.customername.androidui.tests.system.** { *; }
#Avoid 3rd party library warnings
-dontwarn net.hockeyapp.**
-dontwarn javax.xml.stream.**
-dontwarn java.awt.**,javax.security.**,java.beans.**
-dontwarn org.apache.tools.ant.**
-dontwarn org.simpleframework.**
-dontwarn org.junit.**
-dontwarn android.support.**
-dontwarn javax.management.**
-dontwarn java.lang.management.**
-dontwarn android.test.**
-dontwarn org.apache.commons.**
-dontwarn com.google.gson.mm.internal.UnsafeAllocator.**
-dontwarn com.google.inject.**
-dontwarn org.mockito.**
-dontwarn com.jayway.**
-dontwarn org.objenesis.instantiator.**
-keepattributes *Annotation*
-keepclassmembers,allowobfuscation class * {
@javax.inject.* *;
@dagger.* *;
<init>();
}
-keep class **$$ModuleAdapter
-keep class **$$InjectAdapter
-keep class **$$StaticInjection
-keepnames class dagger.Lazy
-keepnames class com.mutualmobile.**
-keepclassmembers class ** {
@com.squareup.otto.Subscribe public *;
@com.squareup.otto.Produce public *;
}
-keep class com.google.common.** { *; }
-dontwarn com.google.common.**
-keepattributes *Annotation*,Signature
-dontwarn retrofit.**
-keep class retrofit.** { *; }
-keepclasseswithmembers class * {
@retrofit.* <methods>;
}
-dontwarn java.lang.invoke.*