diff options
Diffstat (limited to 'mobile/android/config/proguard/proguard.cfg')
-rw-r--r-- | mobile/android/config/proguard/proguard.cfg | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/mobile/android/config/proguard/proguard.cfg b/mobile/android/config/proguard/proguard.cfg deleted file mode 100644 index 03485565d..000000000 --- a/mobile/android/config/proguard/proguard.cfg +++ /dev/null @@ -1,183 +0,0 @@ -# Dalvik renders preverification unuseful (Would just slightly bloat the file). --dontpreverify - -# Uncomment to have Proguard list dead code detected during the run - useful for cleaning up the codebase. -# -printusage - --dontskipnonpubliclibraryclassmembers --verbose --allowaccessmodification - -# 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.app.backup.BackupAgentHelper --keep public class * extends android.content.BroadcastReceiver --keep public class * extends android.content.ContentProvider --keep public class * extends android.preference.Preference - --keep public class * extends android.support.v4.app.Fragment - -# Preserve all native method names and the names of their classes. --keepclasseswithmembernames class * { - native <methods>; -} - --keepclasseswithmembers class * { - public <init>(android.content.Context, android.util.AttributeSet, int); -} - --keepclassmembers class * extends android.app.Activity { - public void *(android.view.View); -} - - -# Keep setters in Views so that animations can still work. -# See http://proguard.sourceforge.net/manual/examples.html#beans -# From tools/proguard/proguard-android.txt. --keepclassmembers public class * extends android.view.View { - void set*(***); - *** get*(); -} - -# Keep setters in support Fragment so that Robocop tests work, -# specifically testBrowserSearchVisibility. --keepclassmembers public class * extends android.support.v4.app.Fragment { - void set*(***); - *** get*(); -} - -# Preserve enums. (For awful reasons, the runtime accesses them using introspection...) --keepclassmembers enum * { - *; -} - -# -# Rules from ProGuard's Android example: -# http://proguard.sourceforge.net/manual/examples.html#androidapplication -# - -# 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 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 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>; -} - -# -# Mozilla-specific rules -# -# Merging classes can generate dex warnings about anonymous inner classes. --optimizations !class/merging/horizontal --optimizations !class/merging/vertical - -# This optimisation causes corrupt bytecode if we run more than two passes. -# Testing shows that running the extra passes of everything else saves us -# more than this optimisation does, so bye bye! --optimizations !code/allocation/variable - -# Keep miscellaneous targets. - -# Keep Robocop targets. TODO: Can omit these from release builds. Also, Bug 916507. - -# Same formula as above... --keep @interface org.mozilla.gecko.annotation.RobocopTarget --keep @org.mozilla.gecko.annotation.RobocopTarget class * --keepclassmembers class * { - @org.mozilla.gecko.annotation.RobocopTarget *; -} --keepclassmembers @org.mozilla.gecko.annotation.RobocopTarget class * { - *; -} --keepclasseswithmembers class * { - @org.mozilla.gecko.annotation.RobocopTarget <methods>; -} --keepclasseswithmembers class * { - @org.mozilla.gecko.annotation.RobocopTarget <fields>; -} - --keep class **.R$* - -# Keep all interfaces that might be dynamically required by Java Addons. --keep class org.mozilla.javaaddons.* { - *; -} - --keep class org.mozilla.javaaddons.*$* { - *; -} - -# Disable obfuscation because it makes exception stack traces more difficult to read. --dontobfuscate - -# Suppress warnings about missing descriptor classes. -#-dontnote **,!ch.boye.**,!org.mozilla.gecko.sync.** - --include "play-services-keeps.cfg" - -# Don't print spurious warnings from the support library. -# See: http://stackoverflow.com/questions/22441366/note-android-support-v4-text-icucompatics-cant-find-dynamically-referenced-cl --dontnote android.support.** - --include "adjust-keeps.cfg" - --include "leakcanary-keeps.cfg" - --include "appcompat-v7-keeps.cfg" - --include "proguard-android.cfg" - --include "../../geckoview/proguard-rules.txt" |