summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvasilii <vasilii@chromium.org>2016-01-15 02:18:45 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-15 10:19:30 +0000
commitac74e7a74cd2e700b1953f0542c09a72c672b1b1 (patch)
treefadc6afd337641f19b75cc5aff33ca5038c39ef6
parentf795671d8c34bc15ae30a005d38d0a4f5b9fae11 (diff)
downloadchromium_src-ac74e7a74cd2e700b1953f0542c09a72c672b1b1.zip
chromium_src-ac74e7a74cd2e700b1953f0542c09a72c672b1b1.tar.gz
chromium_src-ac74e7a74cd2e700b1953f0542c09a72c672b1b1.tar.bz2
Revert of [Android] Rework multidex and enable multidex for unit_tests_apk. (patchset #7 id:120001 of https://codereview.chromium.org/1581563003/ )
Reason for revert: Broke compilation on Android https://build.chromium.org/p/chromium/builders/Android/builds/50665 FAILED: cd ../../components; python ../build/android/gyp/apk_obfuscate.py --configuration-name Release --android-sdk /b/build/slave/Android/build/src/third_party/android_tools/sdk//platforms/android-23 --android-sdk-tools /b/build/slave/Android/build/src/third_party/android_tools/sdk//build-tools/23.0.1 --android-sdk-jar /b/build/slave/Android/build/src/third_party/android_tools/sdk//platforms/android-23/android.jar "--input-jars-paths=/b/build/slave/Android/build/src/third_party/android_tools/sdk//extras/android/support/multidex/library/libs/android-support-multidex.jar \"../out/Release/lib.java/jsr_305_javalib.jar\" \"../out/Release/lib.java/base_java.jar\" /b/build/slave/Android/build/src/third_party/android_tools/sdk//extras/android/support/annotations/android-support-annotations.jar \"../out/Release/lib.java/cronet_api.jar\" \"../out/Release/lib.java/url_java.jar\" \"../out/Release/lib.java/net_java.jar\" \"../out/Release/lib.java/cronet_java.jar\" \"../out/Release/lib.java/chromium_apk_cronet_perf_test_apk.jar\"" "--proguard-configs=cronet/android/proguard.cfg \"../out/Release/cronet_perf_test_apk/proguard.txt\"" --test-jar-path ../out/Release/test.lib.java/CronetPerfTest.jar --obfuscated-jar-path ../out/Release/cronet_perf_test_apk/obfuscated.jar --proguard-jar-path ../third_party/proguard/lib/proguard.jar --stamp ../out/Release/cronet_perf_test_apk/obfuscate.stamp --testapp --proguard-enabled Traceback (most recent call last): File "../build/android/gyp/apk_obfuscate.py", line 185, in <module> sys.exit(main(sys.argv[1:])) File "../build/android/gyp/apk_obfuscate.py", line 167, in main DoProguard(options) File "../build/android/gyp/apk_obfuscate.py", line 124, in DoProguard proguard.CheckOutput() File "/b/build/slave/Android/build/src/build/android/gyp/util/proguard_util.py", line 180, in CheckOutput stderr_filter=stderr_filter) File "/b/build/slave/Android/build/src/build/android/gyp/util/build_utils.py", line 162, in CheckOutput raise CalledProcessError(cwd, args, stdout + stderr) util.build_utils.CalledProcessError: Command failed: ( cd /b/build/slave/Android/build/src/components; java -jar ../third_party/proguard/lib/proguard.jar -forceprocessing -libraryjars /b/build/slave/Android/build/src/third_party/android_tools/sdk//platforms/android-23/android.jar -injars /b/build/slave/Android/build/src/third_party/android_tools/sdk//extras/android/support/multidex/library/libs/android-support-multidex.jar:../out/Release/lib.java/jsr_305_javalib.jar:../out/Release/lib.java/base_java.jar:/b/build/slave/Android/build/src/third_party/android_tools/sdk//extras/android/support/annotations/android-support-annotations.jar:../out/Release/lib.java/cronet_api.jar:../out/Release/lib.java/url_java.jar:../out/Release/lib.java/net_java.jar:../out/Release/lib.java/cronet_java.jar:../out/Release/lib.java/chromium_apk_cronet_perf_test_apk.jar -include cronet/android/proguard.cfg -include ../out/Release/cronet_perf_test_apk/proguard.txt -outjars ../out/Release/cronet_perf_test_apk/obfuscated.jar -dump ../out/Release/cronet_perf_test_apk/obfuscated.jar.dump -printseeds ../out/Release/cronet_perf_test_apk/obfuscated.jar.seeds -printusage ../out/Release/cronet_perf_test_apk/obfuscated.jar.usage -printmapping ../out/Release/cronet_perf_test_apk/obfuscated.jar.mapping ) Warning: org.chromium.base.multidex.ChromiumMultiDexInstaller: can't find referenced class org.chromium.base.multidex.ChromiumMultiDex Warning: org.chromium.base.multidex.ChromiumMultiDexInstaller: can't find referenced class org.chromium.base.multidex.ChromiumMultiDex Warning: there were 2 unresolved references to classes or interfaces. You may need to specify additional library jars (using '-libraryjars'). Error: Please correct the above warnings first. Original issue's description: > [Android] Rework multidex and enable multidex for unit_tests_apk. > > This allows multidex to be used in release builds. > > BUG=272790 > > Committed: https://crrev.com/f743bef34d49987c0f1f69e2f0bb6cb8beb03bf5 > Cr-Commit-Position: refs/heads/master@{#369715} TBR=phajdan.jr@chromium.org,agrieve@chromium.org,dpranke@chromium.org,thakis@chromium.org,yfriedman@chromium.org,jbudorick@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=272790 Review URL: https://codereview.chromium.org/1587253003 Cr-Commit-Position: refs/heads/master@{#369717}
-rw-r--r--base/BUILD.gn9
-rw-r--r--base/android/java/src/org/chromium/base/BaseChromiumApplication.java4
-rw-r--r--base/android/java/src/org/chromium/base/multidex/ChromiumMultiDexInstaller.java114
-rw-r--r--base/android/java/templates/ChromiumMultiDex.template113
-rw-r--r--base/base.gyp14
-rw-r--r--base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java4
-rwxr-xr-xbuild/android/gyp/configure_multidex.py50
-rw-r--r--build/android/java_cpp_template.gypi2
-rw-r--r--build/config/android/rules.gni15
-rw-r--r--build/java_apk.gypi50
-rw-r--r--chrome/chrome_tests_unit.gypi1
-rw-r--r--chrome/test/BUILD.gn1
-rw-r--r--testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java3
-rw-r--r--testing/test.gni1
14 files changed, 137 insertions, 244 deletions
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 1265df8..5d8510f 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -2057,10 +2057,9 @@ if (is_android) {
DEPRECATED_java_in_dir = "android/java/src"
- # New versions of ChromiumMultiDex.java and NativeLibraries.java
- # (with the actual correct values) will be created when creating an apk.
+ # A new version of NativeLibraries.java (with the actual correct values)
+ # will be created when creating an apk.
jar_excluded_patterns = [
- "*/ChromiumMultiDex.class",
"*/NativeLibraries.class",
"*/NativeLibraries##*.class",
]
@@ -2095,7 +2094,6 @@ if (is_android) {
"//third_party/robolectric:android-all-4.3_r2-robolectric-0",
"//third_party/robolectric:robolectric_java",
]
- srcjar_deps = [ ":base_multidex_gen" ]
}
# GYP: //base.gyp:base_junit_tests
@@ -2130,6 +2128,9 @@ if (is_android) {
sources = [
"android/java/templates/ChromiumMultiDex.template",
]
+ if (is_debug) {
+ defines = [ "MULTIDEX_CONFIGURATION_Debug" ]
+ }
package_name = "org/chromium/base/multidex"
}
diff --git a/base/android/java/src/org/chromium/base/BaseChromiumApplication.java b/base/android/java/src/org/chromium/base/BaseChromiumApplication.java
index f842a18..e4e6e20 100644
--- a/base/android/java/src/org/chromium/base/BaseChromiumApplication.java
+++ b/base/android/java/src/org/chromium/base/BaseChromiumApplication.java
@@ -10,7 +10,7 @@ import android.content.Context;
import android.os.Bundle;
import android.view.Window;
-import org.chromium.base.multidex.ChromiumMultiDexInstaller;
+import org.chromium.base.multidex.ChromiumMultiDex;
/**
* Basic application functionality that should be shared among all browser applications.
@@ -31,7 +31,7 @@ public class BaseChromiumApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
- ChromiumMultiDexInstaller.install(this);
+ ChromiumMultiDex.install(this);
}
/**
diff --git a/base/android/java/src/org/chromium/base/multidex/ChromiumMultiDexInstaller.java b/base/android/java/src/org/chromium/base/multidex/ChromiumMultiDexInstaller.java
deleted file mode 100644
index e4b30b9..0000000
--- a/base/android/java/src/org/chromium/base/multidex/ChromiumMultiDexInstaller.java
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2015 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.
-
-package org.chromium.base.multidex;
-
-import android.app.ActivityManager;
-import android.app.ActivityManager.RunningAppProcessInfo;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.support.multidex.MultiDex;
-
-import org.chromium.base.Log;
-import org.chromium.base.VisibleForTesting;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * Performs multidex installation for non-isolated processes.
- */
-public class ChromiumMultiDexInstaller {
-
- private static final String TAG = "base_multidex";
-
- /**
- * Suffix for the meta-data tag in the AndroidManifext.xml that determines whether loading
- * secondary dexes should be skipped for a given process name.
- */
- private static final String IGNORE_MULTIDEX_KEY = ".ignore_multidex";
-
- /**
- * Installs secondary dexes if possible/necessary.
- *
- * Isolated processes (e.g. renderer processes) can't load secondary dex files on
- * K and below, so we don't even try in that case.
- *
- * In release builds of app apks (as opposed to test apks), this is a no-op because:
- * - multidex isn't necessary in release builds because we run proguard there and
- * thus aren't threatening to hit the dex limit; and
- * - calling MultiDex.install, even in the absence of secondary dexes, causes a
- * significant regression in start-up time (crbug.com/525695).
- *
- * @param context The application context.
- */
- @VisibleForTesting
- public static void install(Context context) {
- if (!ChromiumMultiDex.isMultidexEnabled()) return;
-
- // TODO(jbudorick): Back out this version check once support for K & below works.
- // http://crbug.com/512357
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP
- && !shouldInstallMultiDex(context)) {
- Log.i(TAG, "Skipping multidex installation: not needed for process.");
- } else {
- MultiDex.install(context);
- Log.i(TAG, "Completed multidex installation.");
- }
- }
-
- private static String getProcessName(Context context) {
- try {
- String currentProcessName = null;
- int pid = android.os.Process.myPid();
-
- ActivityManager manager =
- (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
- for (RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {
- if (processInfo.pid == pid) {
- currentProcessName = processInfo.processName;
- break;
- }
- }
-
- return currentProcessName;
- } catch (SecurityException ex) {
- return null;
- }
- }
-
- // Determines whether MultiDex should be installed for the current process. Isolated
- // Processes should skip MultiDex as they can not actually access the files on disk.
- // Privileged processes need ot have all of their dependencies in the MainDex for
- // performance reasons.
- private static boolean shouldInstallMultiDex(Context context) {
- try {
- Method isIsolatedMethod =
- android.os.Process.class.getMethod("isIsolated");
- Object retVal = isIsolatedMethod.invoke(null);
- if (retVal != null && retVal instanceof Boolean && ((Boolean) retVal)) {
- return false;
- }
- } catch (IllegalAccessException | IllegalArgumentException
- | InvocationTargetException | NoSuchMethodException e) {
- // Ignore and fall back to checking the app processes.
- }
-
- String currentProcessName = getProcessName(context);
- if (currentProcessName == null) return true;
-
- PackageManager packageManager = context.getPackageManager();
- try {
- ApplicationInfo appInfo = packageManager.getApplicationInfo(context.getPackageName(),
- PackageManager.GET_META_DATA);
- if (appInfo == null || appInfo.metaData == null) return true;
- return !appInfo.metaData.getBoolean(currentProcessName + IGNORE_MULTIDEX_KEY, false);
- } catch (PackageManager.NameNotFoundException e) {
- return true;
- }
- }
-
-}
diff --git a/base/android/java/templates/ChromiumMultiDex.template b/base/android/java/templates/ChromiumMultiDex.template
index 7e70701..5580489 100644
--- a/base/android/java/templates/ChromiumMultiDex.template
+++ b/base/android/java/templates/ChromiumMultiDex.template
@@ -4,22 +4,115 @@
package org.chromium.base.multidex;
+import android.app.ActivityManager;
+import android.app.ActivityManager.RunningAppProcessInfo;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import android.os.Process;
+import android.support.multidex.MultiDex;
+
+import org.chromium.base.Log;
+import org.chromium.base.VisibleForTesting;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
/**
- * Multidex configuration. Generated on a per-target basis.
+ * Performs multidex installation for non-isolated processes.
*/
-class ChromiumMultiDex {
+public class ChromiumMultiDex {
- /** Whether multidex is enabled for this target.
+ private static final String TAG = "base_multidex";
+
+ /**
+ * Suffix for the meta-data tag in the AndroidManifext.xml that determines whether loading
+ * secondary dexes should be skipped for a given process name.
+ */
+ private static final String IGNORE_MULTIDEX_KEY = ".ignore_multidex";
+
+ /**
+ * Installs secondary dexes if possible/necessary.
+ *
+ * Isolated processes (e.g. renderer processes) can't load secondary dex files on
+ * K and below, so we don't even try in that case.
*
- * This has to be a function instead of a static final boolean s.t. the initial false value
- * doesn't get optimized into {@link ChromiumMultiDexInstaller} at base_java compile time.
+ * In release builds, this is a no-op because:
+ * - multidex isn't necessary in release builds because we run proguard there and
+ * thus aren't threatening to hit the dex limit; and
+ * - calling MultiDex.install, even in the absence of secondary dexes, causes a
+ * significant regression in start-up time (crbug.com/525695).
+ *
+ * @param context The application context.
*/
- static boolean isMultidexEnabled() {
-#if defined(ENABLE_MULTIDEX)
- return true;
+ @VisibleForTesting
+#if defined(MULTIDEX_CONFIGURATION_Debug)
+ public static void install(Context context) {
+ // TODO(jbudorick): Back out this version check once support for K & below works.
+ // http://crbug.com/512357
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP
+ && !shouldInstallMultiDex(context)) {
+ Log.i(TAG, "Skipping multidex installation: not needed for process.");
+ } else {
+ MultiDex.install(context);
+ Log.i(TAG, "Completed multidex installation.");
+ }
+ }
+
+ private static String getProcessName(Context context) {
+ try {
+ String currentProcessName = null;
+ int pid = android.os.Process.myPid();
+
+ ActivityManager manager =
+ (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+ for (RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {
+ if (processInfo.pid == pid) {
+ currentProcessName = processInfo.processName;
+ break;
+ }
+ }
+
+ return currentProcessName;
+ } catch (SecurityException ex) {
+ return null;
+ }
+ }
+
+ // Determines whether MultiDex should be installed for the current process. Isolated
+ // Processes should skip MultiDex as they can not actually access the files on disk.
+ // Privileged processes need ot have all of their dependencies in the MainDex for
+ // performance reasons.
+ private static boolean shouldInstallMultiDex(Context context) {
+ try {
+ Method isIsolatedMethod =
+ android.os.Process.class.getMethod("isIsolated");
+ Object retVal = isIsolatedMethod.invoke(null);
+ if (retVal != null && retVal instanceof Boolean && ((Boolean) retVal)) {
+ return false;
+ }
+ } catch (IllegalAccessException | IllegalArgumentException
+ | InvocationTargetException | NoSuchMethodException e) {
+ // Ignore and fall back to checking the app processes.
+ }
+
+ String currentProcessName = getProcessName(context);
+ if (currentProcessName == null) return true;
+
+ PackageManager packageManager = context.getPackageManager();
+ try {
+ ApplicationInfo appInfo = packageManager.getApplicationInfo(context.getPackageName(),
+ PackageManager.GET_META_DATA);
+ if (appInfo == null || appInfo.metaData == null) return true;
+ return !appInfo.metaData.getBoolean(currentProcessName + IGNORE_MULTIDEX_KEY, false);
+ } catch (PackageManager.NameNotFoundException e) {
+ return true;
+ }
+ }
#else
- return false;
-#endif
+ public static void install(Context context) {
}
+#endif
}
diff --git a/base/base.gyp b/base/base.gyp
index 94a1d49..dc484f4 100644
--- a/base/base.gyp
+++ b/base/base.gyp
@@ -1489,6 +1489,9 @@
'variables': {
'package_name': 'org/chromium/base/multidex',
'template_deps': [],
+ 'additional_gcc_preprocess_options': [
+ '--defines', 'MULTIDEX_CONFIGURATION_<(CONFIGURATION_NAME)',
+ ],
},
'includes': ['../build/android/java_cpp_template.gypi'],
},
@@ -1507,10 +1510,7 @@
'type': 'none',
'variables': {
'java_in_dir': 'android/java',
- 'jar_excluded_classes': [
- '*/ChromiumMultiDex.class',
- '*/NativeLibraries.class',
- ],
+ 'jar_excluded_classes': [ '*/NativeLibraries.class' ],
},
'dependencies': [
'base_java_application_state',
@@ -1522,11 +1522,6 @@
'../third_party/android_tools/android_tools.gyp:android_support_multidex_javalib',
'../third_party/jsr-305/jsr-305.gyp:jsr_305_javalib',
],
- 'all_dependent_settings': {
- 'variables': {
- 'generate_multidex_config': 1,
- },
- },
'includes': [ '../build/java.gypi' ],
},
{
@@ -1588,7 +1583,6 @@
'target_name': 'base_junit_test_support',
'type': 'none',
'dependencies': [
- 'base_multidex_gen',
'../testing/android/junit/junit_test.gyp:junit_test_support',
'../third_party/android_tools/android_tools.gyp:android_support_multidex_javalib',
],
diff --git a/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java b/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java
index 669307c..8bf3d0fb 100644
--- a/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java
+++ b/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java
@@ -18,7 +18,7 @@ import junit.framework.TestResult;
import org.chromium.base.Log;
import org.chromium.base.SysUtils;
-import org.chromium.base.multidex.ChromiumMultiDexInstaller;
+import org.chromium.base.multidex.ChromiumMultiDex;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DisableIfSkipCheck;
import org.chromium.base.test.util.MinAndroidSdkLevel;
@@ -37,7 +37,7 @@ public class BaseInstrumentationTestRunner extends InstrumentationTestRunner {
@Override
public void onCreate(Bundle arguments) {
- ChromiumMultiDexInstaller.install(getTargetContext());
+ ChromiumMultiDex.install(getTargetContext());
super.onCreate(arguments);
}
diff --git a/build/android/gyp/configure_multidex.py b/build/android/gyp/configure_multidex.py
index 9f3b736..aa85d2f 100755
--- a/build/android/gyp/configure_multidex.py
+++ b/build/android/gyp/configure_multidex.py
@@ -6,33 +6,23 @@
import argparse
import json
-import os
import sys
from util import build_utils
-_GCC_PREPROCESS_PATH = os.path.join(
- os.path.dirname(__file__), 'gcc_preprocess.py')
-
-
def ParseArgs():
parser = argparse.ArgumentParser()
parser.add_argument('--configuration-name', required=True,
help='The build CONFIGURATION_NAME.')
- parser.add_argument('--enable-multidex', action='store_true', default=False,
- help='If passed, multidex may be enabled.')
parser.add_argument('--enabled-configurations', default=[],
help='The configuration(s) for which multidex should be '
'enabled. If not specified and --enable-multidex is '
'passed, multidex will be enabled for all '
- 'configurations.')
+ 'configurations.')
parser.add_argument('--multidex-configuration-path', required=True,
help='The path to which the multidex configuration JSON '
'should be saved.')
- parser.add_argument('--multidex-config-java-file', required=True)
- parser.add_argument('--multidex-config-java-stamp', required=True)
- parser.add_argument('--multidex-config-java-template', required=True)
args = parser.parse_args()
@@ -43,41 +33,19 @@ def ParseArgs():
return args
-def _WriteConfigJson(multidex_enabled, multidex_configuration_path):
- config = {
- 'enabled': multidex_enabled,
- }
-
- with open(multidex_configuration_path, 'w') as f:
- f.write(json.dumps(config))
-
-
-def _GenerateMultidexConfigJava(multidex_enabled, args):
- gcc_preprocess_cmd = [
- sys.executable, _GCC_PREPROCESS_PATH,
- '--include-path=',
- '--template', args.multidex_config_java_template,
- '--stamp', args.multidex_config_java_stamp,
- '--output', args.multidex_config_java_file,
- ]
- if multidex_enabled:
- gcc_preprocess_cmd += [
- '--defines', 'ENABLE_MULTIDEX',
- ]
-
- build_utils.CheckOutput(gcc_preprocess_cmd)
-
-
def main():
args = ParseArgs()
multidex_enabled = (
- args.enable_multidex
- and (not args.enabled_configurations
- or args.configuration_name in args.enabled_configurations))
+ (not args.enabled_configurations
+ or args.configuration_name in args.enabled_configurations))
+
+ config = {
+ 'enabled': multidex_enabled,
+ }
- _WriteConfigJson(multidex_enabled, args.multidex_configuration_path)
- _GenerateMultidexConfigJava(multidex_enabled, args)
+ with open(args.multidex_configuration_path, 'w') as f:
+ f.write(json.dumps(config))
return 0
diff --git a/build/android/java_cpp_template.gypi b/build/android/java_cpp_template.gypi
index 3296659..f4ea0a9 100644
--- a/build/android/java_cpp_template.gypi
+++ b/build/android/java_cpp_template.gypi
@@ -34,6 +34,7 @@
{
# Location where all generated Java sources will be placed.
'variables': {
+ 'additional_gcc_preprocess_options': [],
'include_path%': '<(DEPTH)',
'output_dir': '<(SHARED_INTERMEDIATE_DIR)/templates/<(_target_name)/<(package_name)',
},
@@ -74,6 +75,7 @@
'--include-path=<(include_path)',
'--output=<(output_path)',
'--template=<(RULE_INPUT_PATH)',
+ '<@(additional_gcc_preprocess_options)',
],
'message': 'Generating Java from cpp template <(RULE_INPUT_PATH)',
}
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
index fb06814..da9a853 100644
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1484,21 +1484,6 @@ template("android_apk") {
_srcjar_deps += [ ":${_template_name}__native_libraries_java" ]
}
- if (!defined(invoker.apk_under_test)) {
- java_cpp_template("${_template_name}__multidex_config_java") {
- package_name = "org/chromium/base/multidex"
- sources = [
- "//base/android/java/templates/ChromiumMultiDex.template",
- ]
-
- defines = []
- if (enable_multidex) {
- defines += [ "ENABLE_MULTIDEX" ]
- }
- }
- _srcjar_deps += [ ":${_template_name}__multidex_config_java" ]
- }
-
java_target = "${_template_name}__java"
java_library_impl(java_target) {
forward_variables_from(invoker, [ "run_findbugs" ])
diff --git a/build/java_apk.gypi b/build/java_apk.gypi
index 8c305ee..ab49dc6 100644
--- a/build/java_apk.gypi
+++ b/build/java_apk.gypi
@@ -74,7 +74,6 @@
# replace dependencies_locale_zip_paths of all_dependent_settings.
{
'variables': {
- 'tested_apk_path%': '/',
'tested_apk_obfuscated_jar_path%': '/',
'tested_apk_dex_path%': '/',
'tested_apk_is_multidex%': 0,
@@ -122,11 +121,6 @@
'native_libraries_template_data_dir': '<(intermediate_dir)/native_libraries/',
'native_libraries_template_data_file': '<(native_libraries_template_data_dir)/native_libraries_array.h',
'native_libraries_template_version_file': '<(native_libraries_template_data_dir)/native_libraries_version.h',
- 'generate_multidex_config%': 0,
- 'multidex_config_template': '<(DEPTH)/base/android/java/templates/ChromiumMultiDex.template',
- 'multidex_config_java_dir': '<(intermediate_dir)/multidex_config/',
- 'multidex_config_java_file': '<(multidex_config_java_dir)/ChromiumMultiDex.java',
- 'multidex_config_java_stamp': '<(intermediate_dir)/multidex_config_java.stamp',
'compile_stamp': '<(intermediate_dir)/compile.stamp',
'lint_stamp': '<(intermediate_dir)/lint.stamp',
'lint_result': '<(intermediate_dir)/lint_result.xml',
@@ -800,58 +794,37 @@
},
],
}],
- ],
- 'target_conditions': [
- ['generate_multidex_config == 1 and is_test_apk == 0', {
- 'variables': {
- 'generated_src_dirs': ['<(multidex_config_java_dir)'],
- },
+ ['enable_multidex == 1', {
'actions': [
{
+ 'action_name': 'main_dex_list_for_<(_target_name)',
+ 'variables': {
+ 'jar_paths': ['>@(input_jars_paths)', '<(javac_jar_path)'],
+ 'output_path': '<(main_dex_list_path)',
+ },
+ 'includes': [ 'android/main_dex_action.gypi' ],
+ },
+ {
'action_name': 'configure_multidex_for_<(_target_name)',
'inputs': [
'<(DEPTH)/build/android/gyp/configure_multidex.py',
- '<(multidex_config_template)',
],
'outputs': [
'<(multidex_configuration_path)',
- '<(multidex_config_java_stamp)',
],
'variables': {
'additional_multidex_config_options': [],
- 'enabled_configurations': '>(enable_multidex_configurations)',
- 'conditions': [
- ['enable_multidex == 1', {
- 'additional_multidex_config_options': ['--enable-multidex'],
- }],
- ],
+ 'enabled_configurations': ['>@(enable_multidex_configurations)'],
},
'action': [
'python', '<(DEPTH)/build/android/gyp/configure_multidex.py',
'--configuration-name', '<(CONFIGURATION_NAME)',
'--enabled-configurations', '<(enabled_configurations)',
'--multidex-configuration-path', '<(multidex_configuration_path)',
- '--multidex-config-java-template', '<(multidex_config_template)',
- '--multidex-config-java-file', '<(multidex_config_java_file)',
- '--multidex-config-java-stamp', '<(multidex_config_java_stamp)',
'>@(additional_multidex_config_options)',
],
},
],
- 'conditions': [
- ['enable_multidex == 1', {
- 'actions': [
- {
- 'action_name': 'main_dex_list_for_<(_target_name)',
- 'variables': {
- 'jar_paths': ['>@(input_jars_paths)', '<(javac_jar_path)'],
- 'output_path': '<(main_dex_list_path)',
- },
- 'includes': [ 'android/main_dex_action.gypi' ],
- },
- ]
- }]
- ],
}],
],
'dependencies': [
@@ -982,9 +955,6 @@
['native_lib_target != ""', {
'inputs': [ '<(native_libraries_java_stamp)' ],
}],
- ['generate_multidex_config == 1', {
- 'inputs': [ '<(multidex_config_java_stamp)' ],
- }],
],
'outputs': [
'<(compile_stamp)',
diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi
index 42f8802..1e4c31c 100644
--- a/chrome/chrome_tests_unit.gypi
+++ b/chrome/chrome_tests_unit.gypi
@@ -2984,7 +2984,6 @@
'test_suite_name': 'unit_tests',
'isolate_file': 'unit_tests.isolate',
'android_manifest_path': 'test/android/unit_tests_apk/AndroidManifest.xml',
- 'enable_multidex': 1,
'conditions': [
['v8_use_external_startup_data==1', {
'asset_location': '<(PRODUCT_DIR)/unit_tests_apk/assets',
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index a97442d..b000210 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1647,7 +1647,6 @@ test("unit_tests") {
android_manifest =
"//chrome/test/android/unit_tests_apk/AndroidManifest.xml"
- enable_multidex = true
isolate_file = "../unit_tests.isolate"
# Some android targets still depend on --gc-sections to link.
diff --git a/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java b/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java
index 00d5c78..bdba1e0 100644
--- a/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java
+++ b/testing/android/native_test/java/src/org/chromium/native_test/NativeTestActivity.java
@@ -15,7 +15,6 @@ import android.os.Process;
import org.chromium.base.CommandLine;
import org.chromium.base.Log;
import org.chromium.base.annotations.JNINamespace;
-import org.chromium.base.multidex.ChromiumMultiDexInstaller;
import org.chromium.test.reporter.TestStatusReporter;
import java.io.File;
@@ -51,9 +50,7 @@ public class NativeTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
- ChromiumMultiDexInstaller.install(this);
super.onCreate(savedInstanceState);
-
CommandLine.init(new String[]{});
parseArgumentsFromIntent(getIntent());
diff --git a/testing/test.gni b/testing/test.gni
index 6739bfe..7ce5d85 100644
--- a/testing/test.gni
+++ b/testing/test.gni
@@ -66,7 +66,6 @@ template("test") {
[
"android_manifest",
"deps",
- "enable_multidex",
"use_default_launcher",
"write_asset_list",
])