mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-23 00:47:31 +09:00
pt 1 in reviving the android build (copied from pm 28a1, wish me luck)
This commit is contained in:
parent
efa9662725
commit
d7788a6d6d
4249 changed files with 468189 additions and 0 deletions
185
mobile/android/config/proguard/proguard.cfg
Normal file
185
mobile/android/config/proguard/proguard.cfg
Normal file
|
|
@ -0,0 +1,185 @@
|
|||
# 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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue