naiveproxy/base/android/proguard/chromium_apk.flags

63 lines
2.5 KiB
Plaintext
Raw Normal View History

2018-01-28 21:32:06 +03:00
# 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();
}
# 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
# Class merging messes up stacktraces beyond the point of them being
# deobfuscatable. If turned on, it would give us a 2% reduction in .dex size.
-optimizations !class/merging/*
# 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.**