mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 22:36:09 +03:00
66 lines
2.6 KiB
Plaintext
66 lines
2.6 KiB
Plaintext
|
# Copyright 2016 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
# Contains flags that we'd like all Chromium .apks to use.
|
||
|
|
||
|
# Not needed for Android and saves a bit of processing time.
|
||
|
-dontpreverify
|
||
|
|
||
|
# Keep line number information, useful for stack traces.
|
||
|
-keepattributes SourceFile,LineNumberTable
|
||
|
|
||
|
# Keep all CREATOR fields within Parcelable that are kept.
|
||
|
-keepclassmembers class * implements android.os.Parcelable {
|
||
|
public static *** CREATOR;
|
||
|
}
|
||
|
|
||
|
# Don't obfuscate Parcelables as they might be marshalled outside Chrome.
|
||
|
# If we annotated all Parcelables that get put into Bundles other than
|
||
|
# for saveInstanceState (e.g. PendingIntents), then we could actually keep the
|
||
|
# names of just those ones. For now, we'll just keep them all.
|
||
|
-keepnames class * implements android.os.Parcelable
|
||
|
|
||
|
# Keep all enum values and valueOf methods. See
|
||
|
# http://proguard.sourceforge.net/index.html#manual/examples.html
|
||
|
# for the reason for this. Also, see http://crbug.com/248037.
|
||
|
-keepclassmembers enum * {
|
||
|
public static **[] values();
|
||
|
}
|
||
|
|
||
|
# Keep classes implementing ParameterProvider -- these will be instantiated
|
||
|
# via reflection.
|
||
|
-keep class * implements org.chromium.base.test.params.ParameterProvider
|
||
|
|
||
|
# Allows Proguard freedom in removing these log related calls. We ask for debug
|
||
|
# and verbose logs to be stripped out in base.Log, so we are just ensuring we
|
||
|
# get rid of all other debug/verbose logs.
|
||
|
-assumenosideeffects class android.util.Log {
|
||
|
static *** d(...);
|
||
|
static *** v(...);
|
||
|
static *** isLoggable(...);
|
||
|
}
|
||
|
|
||
|
# The following chart was created on July 20, 2016, to decide on 3 optimization
|
||
|
# passes for Chrome.
|
||
|
# optimization passes | time | .dex size | dirty memory per process
|
||
|
# -----------------------------------------------------------------
|
||
|
# 1 | 0:48 | 5805676 | 488972
|
||
|
# 2 | 1:07 | 5777376 | 487092
|
||
|
# 3 | 1:24 | 5772192 | 486596
|
||
|
# 4 | 1:42 | 5771124 | 486484
|
||
|
# 5 | 1:56 | 5770504 | 486432
|
||
|
-optimizationpasses 3
|
||
|
|
||
|
# Horizontal class merging marginally increases dex size (as of Mar 2018).
|
||
|
-optimizations !class/merging/horizontal
|
||
|
|
||
|
# Allowing Proguard to change modifiers. This change shrinks the .dex size by
|
||
|
# ~1%, and reduces the method count by ~4%.
|
||
|
-allowaccessmodification
|
||
|
|
||
|
# 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.**
|