OLD | NEW |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # This file is for proguard flags which will be applied to apks that are being | 5 # This file is for proguard flags which will be applied to apks that are being |
6 # built to be instrumentation tested. The flags in this file should only affect | 6 # built to be instrumentation tested. The flags in this file should only affect |
7 # how the instrumentation tests interact with the .apk. Do not put any flags in | 7 # how the instrumentation tests interact with the .apk. Do not put any flags in |
8 # this file which might affect the correctness of the .apk. | 8 # this file which might affect the correctness of the .apk. |
9 | 9 |
10 # This line prevents optmization from being applied to either packages. We rely | 10 # This line prevents optmization from being applied to either packages. We rely |
11 # on optimizations being off to prevent inlining functions our instrumentation | 11 # on optimizations being off to prevent inlining functions our instrumentation |
12 # tests use. | 12 # tests use. |
13 # TODO(smaier): when buildbot scripts have been updated to not include this | 13 # TODO(smaier): when buildbot scripts have been updated to not include this |
14 # config as part of its release build, switch these lines to: | 14 # config as part of its release build, switch these lines to: |
15 # -dontoptimize | 15 # -dontoptimize |
16 -keepnames,allowobfuscation class com.google.android.apps.chrome.**,org.chromium
.** { | 16 -keepnames,allowobfuscation class com.google.android.apps.chrome.**,org.chromium
.** { |
17 *; | 17 *; |
18 } | 18 } |
| 19 |
| 20 # Keeping @VisibleForTesting and its annotated classes + methods |
| 21 -keep @interface org.chromium.base.VisibleForTesting |
| 22 -keep @org.chromium.base.VisibleForTesting class ** |
| 23 -keepclasseswithmembers class * { |
| 24 @org.chromium.base.VisibleForTesting <methods>; |
| 25 } |
| 26 |
| 27 # TODO(aurimas): figure out why we need to keep these classes. |
| 28 -keep class org.chromium.base.test.** { |
| 29 *; |
| 30 } |
| 31 |
| 32 # Everything below this is kept because they are referenced by the test APK. |
| 33 -keep class android.support.v7.mediarouter.R* { |
| 34 *; |
| 35 } |
| 36 |
| 37 -keep class android.support.v7.media.MediaRouteProvider** { |
| 38 *; |
| 39 } |
| 40 |
| 41 -keep class android.support.v4.app.FragmentManager** { |
| 42 *; |
| 43 } |
| 44 |
| 45 -keep class android.support.v4.app.DialogFragment** { |
| 46 *; |
| 47 } |
| 48 |
| 49 -keep class android.support.v7.app.NotificationCompat** { |
| 50 *; |
| 51 } |
| 52 |
| 53 -keep class android.support.v7.app.AlertDialog** { |
| 54 *; |
| 55 } |
| 56 |
| 57 -keep class com.google.android.gms.cast.CastMediaControlIntent* { |
| 58 *; |
| 59 } |
| 60 |
| 61 -keepnames class com.google.android.gms.gcm.** { |
| 62 *; |
| 63 } |
| 64 |
| 65 -keepclassmembers class com.google.android.gms.gcm.TaskParams { |
| 66 public <init>(java.lang.String); |
| 67 } |
| 68 |
| 69 -keepnames class jp.tomorrowkey.android.gifplayer.** { |
| 70 public *; |
| 71 } |
| 72 |
| 73 # Used in tests. |
| 74 -keep class android.support.v4.view.ViewCompat { |
| 75 public static int getLayoutDirection(android.view.View); |
| 76 } |
| 77 |
| 78 # flingViewport is used by Android WebView and a Chrome test. |
| 79 -keepclassmembers class org.chromium.content.browser.ContentViewCore { |
| 80 public void flingViewport(long, int, int); |
| 81 } |
| 82 |
| 83 # Needed to compile ChromeTest.apk |
| 84 -keep class android.support.customtabs.** { |
| 85 *; |
| 86 } |
| 87 |
| 88 # TODO(yfriedman): Remove when crbug.com/488192 is fixed. |
| 89 -dontwarn org.apache.http.conn.scheme.LayeredSocketFactory |
| 90 |
| 91 # Needed to run ChromeTest.apk |
| 92 -keepnames class com.google.android.gms.common.GoogleApiAvailability { |
| 93 *; |
| 94 } |
| 95 |
| 96 # Needed for chrome_sync_shell_test_apk. Note - these do no affect chrome_apk's |
| 97 # size. |
| 98 -keep class org.chromium.sync.protocol.* { *; } |
| 99 |
| 100 # These resources are referenced in tests, but not in the real application. |
| 101 -keepclassmembers class org.chromium.chrome.R$id { |
| 102 int webapp_splash_space; |
| 103 int mr_chooser_list; |
| 104 int find_toolbar; |
| 105 } |
OLD | NEW |