1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- # Copyright 2017 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.
- # Proguard flags for what should be kept in the main dex. Only used
- # during main dex list determination, not during actual proguarding.
- -keep @org.chromium.base.annotations.MainDex class * {
- *;
- }
- -keepclasseswithmembers class * {
- @org.chromium.base.annotations.MainDex <methods>;
- }
- # Assume all IDL-generated classes should be kept. They can't reference other
- # non-framework classes, so fairly low-risk.
- -keepclasseswithmembers class * {
- public static ** asInterface(android.os.IBinder);
- }
- # Required when code coverage is enabled.
- -keep class com.vladium.** {
- *;
- }
- # Renderers / GPU process don't load secondary dex.
- -keep public class * extends org.chromium.base.process_launcher.ChildProcessService {
- *;
- }
- # The following are based on $SDK_BUILD_TOOLS/mainDexClasses.rules
- # Ours differ in that:
- # 1. It omits -keeps for application / instrumentation / backupagents (these are
- # redundant since they are added by aapt's main dex list rules output).
- # 2. Omits keep for Application.attachBaseContext(), which is overly broad.
- # 3. Omits keep for all annotations, which is also overly broad (and pulls in
- # any class that has an @IntDef).
- ######## START mainDexClasses.rules ########
- # Keep old fashion tests in the main dex or they'll be silently ignored by InstrumentationTestRunner
- -keep public class * extends android.test.InstrumentationTestCase {
- <init>();
- }
- ######## END mainDexClasses.rules ########
|