Android: Remove ApplicationStatus from @MainDex
ApplicationStatus ends up pulling in a *lot* of code, because it ends up
pulling in all of its listeners.
This reduces the main dex size by 3400 methods.
To get ApplicationStatus to not be included:
* Made @MainDex applicable to methods
* Changed ContextUtils and ChromeApplication to annotate methods
rather than entire class.
* Stopped using mainDexClasses.rules, in order to avoid -keep'ing all
of ChromeApplication.attachBaseContext(). Really, all that's needed
to be kept is the part of attachBaseContext() before the
ChromiumMultiDexInstaller.install() call.
Bug: 820570
Change-Id: I39220b99f6d89b2429ba7406619a485179a3b2fc
Reviewed-on: https://chromium-review.googlesource.com/963307
Commit-Queue: agrieve <[email protected]>
Reviewed-by: Yaron Friedman <[email protected]>
Reviewed-by: John Budorick <[email protected]>
Cr-Commit-Position: refs/heads/master@{#543831}
diff --git a/content/shell/android/BUILD.gn b/content/shell/android/BUILD.gn
index c15d4fd..3c2e76a 100644
--- a/content/shell/android/BUILD.gn
+++ b/content/shell/android/BUILD.gn
@@ -64,7 +64,6 @@
":content_shell_java_resources",
":content_shell_manifest",
"//base:base_java",
- "//base:base_java_test_support",
"//components/content_view:content_view_java",
"//content/public/android:content_java",
"//device/geolocation:geolocation_java",
@@ -200,7 +199,7 @@
instrumentation_test_apk("content_shell_test_apk") {
deps = [
- "//base:base_javatests",
+ "//base:base_java_test_support",
"//content/public/android:content_javatests",
"//net/android:net_javatests",
"//third_party/android_support_test_runner:runner_java",