diff options
Diffstat (limited to 'mobile/android/config/proguard')
-rw-r--r-- | mobile/android/config/proguard/adjust-keeps.cfg | 20 | ||||
-rw-r--r-- | mobile/android/config/proguard/appcompat-v7-keeps.cfg | 11 | ||||
-rw-r--r-- | mobile/android/config/proguard/leakcanary-keeps.cfg | 7 | ||||
-rw-r--r-- | mobile/android/config/proguard/play-services-keeps.cfg | 19 | ||||
-rw-r--r-- | mobile/android/config/proguard/proguard-android.cfg | 78 | ||||
-rw-r--r-- | mobile/android/config/proguard/proguard.cfg | 185 | ||||
-rw-r--r-- | mobile/android/config/proguard/strip-libs.cfg | 41 |
7 files changed, 0 insertions, 361 deletions
diff --git a/mobile/android/config/proguard/adjust-keeps.cfg b/mobile/android/config/proguard/adjust-keeps.cfg deleted file mode 100644 index 0c0fc2158..000000000 --- a/mobile/android/config/proguard/adjust-keeps.cfg +++ /dev/null @@ -1,20 +0,0 @@ -# Rules to make the Adjust install tracking library work. -# via https://github.com/adjust/android_sdk#5-add-permissions - --keep class com.adjust.sdk.plugin.MacAddressUtil { - java.lang.String getMacAddress(android.content.Context); -} --keep class com.adjust.sdk.plugin.AndroidIdUtil { - java.lang.String getAndroidId(android.content.Context); -} --keep class com.google.android.gms.common.ConnectionResult { - int SUCCESS; -} --keep class com.google.android.gms.ads.identifier.AdvertisingIdClient { - com.google.android.gms.ads.identifier.AdvertisingIdClient$Info - getAdvertisingIdInfo (android.content.Context); -} --keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info { - java.lang.String getId (); - boolean isLimitAdTrackingEnabled(); -} diff --git a/mobile/android/config/proguard/appcompat-v7-keeps.cfg b/mobile/android/config/proguard/appcompat-v7-keeps.cfg deleted file mode 100644 index fdaa2a4aa..000000000 --- a/mobile/android/config/proguard/appcompat-v7-keeps.cfg +++ /dev/null @@ -1,11 +0,0 @@ -# Avoid https://code.google.com/p/android/issues/detail?id=187611 and -# http://stackoverflow.com/q/32813894 when building with Gradle. Why -# these aren't defined in appcompat-v7.aar/proguard.txt is beyond me. - --keep public class android.support.v7.widget.** { *; } --keep public class android.support.v7.internal.widget.** { *; } --keep public class android.support.v7.internal.view.menu.** { *; } - --keep public class * extends android.support.v4.view.ActionProvider { - public <init>(android.content.Context); -} diff --git a/mobile/android/config/proguard/leakcanary-keeps.cfg b/mobile/android/config/proguard/leakcanary-keeps.cfg deleted file mode 100644 index f9e5df87c..000000000 --- a/mobile/android/config/proguard/leakcanary-keeps.cfg +++ /dev/null @@ -1,7 +0,0 @@ -# LeakCanary --keep class org.eclipse.mat.** { *; } --keep class com.squareup.leakcanary.** { *; } --keep class com.squareup.haha.** { *; } - -# With LeakCanary 1.4-beta1 this creates a pile of warnings --dontwarn com.squareup.haha.** diff --git a/mobile/android/config/proguard/play-services-keeps.cfg b/mobile/android/config/proguard/play-services-keeps.cfg deleted file mode 100644 index b3aaf80aa..000000000 --- a/mobile/android/config/proguard/play-services-keeps.cfg +++ /dev/null @@ -1,19 +0,0 @@ -# Rules to prevent Google Play Services from exploding -# (From http://developer.android.com/google/play-services/setup.html#Proguard -# With the reference to "Object" changed so it'll actually *work*...) --keep class * extends java.util.ListResourceBundle { - protected java.lang.Object[][] getContents(); -} - --keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { - public static final *** NULL; -} - --keepnames @com.google.android.gms.common.annotation.KeepName class * --keepclassmembernames class * { - @com.google.android.gms.common.annotation.KeepName *; -} - --keepnames class * implements android.os.Parcelable { - public static final ** CREATOR; -} diff --git a/mobile/android/config/proguard/proguard-android.cfg b/mobile/android/config/proguard/proguard-android.cfg deleted file mode 100644 index 93acf28d1..000000000 --- a/mobile/android/config/proguard/proguard-android.cfg +++ /dev/null @@ -1,78 +0,0 @@ -# This is a configuration file for ProGuard. -# http://proguard.sourceforge.net/index.html#manual/usage.html -# -# Starting with version 2.2 of the Android plugin for Gradle, these files are no longer used. Newer -# versions are distributed with the plugin and unpacked at build time. Files in this directory are -# no longer maintained. - --dontusemixedcaseclassnames --dontskipnonpubliclibraryclasses --verbose - -# Optimization is turned off by default. Dex does not like code run -# through the ProGuard optimize and preverify steps (and performs some -# of these optimizations on its own). --dontoptimize --dontpreverify -# Note that if you want to enable optimization, you cannot just -# include optimization flags in your own project configuration file; -# instead you will need to point to the -# "proguard-android-optimize.txt" file instead of this one from your -# project.properties file. - --keepattributes *Annotation* --keep public class com.google.vending.licensing.ILicensingService --keep public class com.android.vending.licensing.ILicensingService - -# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native --keepclasseswithmembernames class * { - native <methods>; -} - -# keep setters in Views so that animations can still work. -# see http://proguard.sourceforge.net/manual/examples.html#beans --keepclassmembers public class * extends android.view.View { - void set*(***); - *** get*(); -} - -# We want to keep methods in Activity that could be used in the XML attribute onClick --keepclassmembers class * extends android.app.Activity { - public void *(android.view.View); -} - -# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations --keepclassmembers enum * { - public static **[] values(); - public static ** valueOf(java.lang.String); -} - --keepclassmembers class * implements android.os.Parcelable { - public static final android.os.Parcelable$Creator CREATOR; -} - --keepclassmembers class **.R$* { - public static <fields>; -} - -# The support library contains references to newer platform versions. -# Don't warn about those in case this app is linking against an older -# platform version. We know about them, and they are safe. --dontwarn android.support.** - -# Understand the @Keep support annotation. --keep class android.support.annotation.Keep - --keep @android.support.annotation.Keep class * {*;} - --keepclasseswithmembers class * { - @android.support.annotation.Keep <methods>; -} - --keepclasseswithmembers class * { - @android.support.annotation.Keep <fields>; -} - --keepclasseswithmembers class * { - @android.support.annotation.Keep <init>(...); -} diff --git a/mobile/android/config/proguard/proguard.cfg b/mobile/android/config/proguard/proguard.cfg deleted file mode 100644 index f44730e72..000000000 --- a/mobile/android/config/proguard/proguard.cfg +++ /dev/null @@ -1,185 +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 org.mozilla.gecko.fxa.sync.FxAccountSyncAdapter --keep class org.mozilla.gecko.fxa.sync.FxAccountSyncAdapter - --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" diff --git a/mobile/android/config/proguard/strip-libs.cfg b/mobile/android/config/proguard/strip-libs.cfg deleted file mode 100644 index 80a1f151c..000000000 --- a/mobile/android/config/proguard/strip-libs.cfg +++ /dev/null @@ -1,41 +0,0 @@ -# Proguard step for stripping debug information. -# -# This is useful to work around a bug in the way Proguard handles debug information: it -# sometimes corrupts it. Classes with corrupt debug information cannot be dexed, but -# classes with *no* debug information can be. There's no way to configure Proguard to -# delete debug information on a per-class basis, so we need this special extra step for -# stripping debug information only from those classes for which the Proguard bug is -# encountered. -# -# Currently, this pass is applied to all bundled library jars for which we are not -# compiling the source. This is slightly more than is strictly necessary to work around -# the Proguard bug, but such debug information is of negligible value and stripping it -# too slightly simplifies the makefile and saves us a handful of kilobytes of binary size. -# -# Configuring Proguard to do nothing except strip metadata is done by having it run only -# the obfuscation pass, but with a configuration that prevents it from renaming any classes. -# It then attempts to delete class metadata, so we further configure it not to do so for -# anything except the problematic debug information. - -# Run only the obfuscator. --dontoptimize --dontshrink --dontpreverify --verbose - -# Don't rename anything. --keeppackagenames - -# Seriously, don't rename anything. --keep class * --keepclassmembers class * { - *; -} - -# Don't delete other useful metadata. --keepattributes Exceptions,InnerClasses,Signature,Deprecated,*Annotation*,EnclosingMethod - -# 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.** --dontwarn android.support.** |