| Index: build/config/android/internal_rules.gni
|
| diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
|
| index 2c9e0c59a87126df243a5ca85bc6d622e7197a4c..6662c75511c6671af79fb1b231db62b8bf47b618 100644
|
| --- a/build/config/android/internal_rules.gni
|
| +++ b/build/config/android/internal_rules.gni
|
| @@ -16,7 +16,7 @@ rebased_android_sdk_build_tools =
|
|
|
| android_sdk_jar = "$android_sdk/android.jar"
|
| rebased_android_sdk_jar = rebase_path(android_sdk_jar, root_build_dir)
|
| -android_aapt_path = "$rebased_android_sdk_build_tools/aapt"
|
| +android_default_aapt_path = "$rebased_android_sdk_build_tools/aapt"
|
|
|
| android_configuration_name = "Release"
|
| if (is_debug) {
|
| @@ -89,9 +89,16 @@ template("proguard") {
|
| _proguard_jar_path = "//third_party/proguard/lib/proguard.jar"
|
| _output_jar_path = invoker.output_jar_path
|
| inputs = [
|
| - android_sdk_jar,
|
| _proguard_jar_path,
|
| ]
|
| + if (defined(invoker.alternative_android_sdk_jar)) {
|
| + inputs += [ invoker.alternative_android_sdk_jar ]
|
| + _rebased_android_sdk_jar =
|
| + rebase_path(invoker.alternative_android_sdk_jar)
|
| + } else {
|
| + inputs += [ android_sdk_jar ]
|
| + _rebased_android_sdk_jar = rebased_android_sdk_jar
|
| + }
|
| if (defined(invoker.inputs)) {
|
| inputs += invoker.inputs
|
| }
|
| @@ -112,7 +119,7 @@ template("proguard") {
|
| "--output-path",
|
| rebase_path(_output_jar_path, root_build_dir),
|
| "--classpath",
|
| - rebased_android_sdk_jar,
|
| + _rebased_android_sdk_jar,
|
| ]
|
| if (defined(invoker.args)) {
|
| args += invoker.args
|
| @@ -868,6 +875,10 @@ template("create_apk") {
|
| _shared_resources =
|
| defined(invoker.shared_resources) && invoker.shared_resources
|
| assert(_shared_resources || true) # Mark as used.
|
| + _app_as_shared_lib =
|
| + defined(invoker.app_as_shared_lib) && invoker.app_as_shared_lib
|
| + assert(_app_as_shared_lib || true) # Mark as used.
|
| + assert(!(_shared_resources && _app_as_shared_lib))
|
|
|
| _keystore_path = invoker.keystore_path
|
| _keystore_name = invoker.keystore_name
|
| @@ -906,13 +917,19 @@ template("create_apk") {
|
| invoker.resource_packaged_apk_path,
|
| ]
|
|
|
| + if (defined(invoker.android_aapt_path)) {
|
| + _android_aapt_path = invoker.android_aapt_path
|
| + } else {
|
| + _android_aapt_path = android_default_aapt_path
|
| + }
|
| +
|
| args = [
|
| "--depfile",
|
| rebase_path(depfile, root_build_dir),
|
| "--android-sdk",
|
| rebased_android_sdk,
|
| "--aapt-path",
|
| - android_aapt_path,
|
| + _android_aapt_path,
|
| "--configuration-name=$android_configuration_name",
|
| "--android-manifest",
|
| rebase_path(invoker.android_manifest, root_build_dir),
|
| @@ -933,6 +950,9 @@ template("create_apk") {
|
| if (_shared_resources) {
|
| args += [ "--shared-resources" ]
|
| }
|
| + if (_app_as_shared_lib) {
|
| + args += [ "--app-as-shared-lib" ]
|
| + }
|
| if (_split_densities != []) {
|
| args += [ "--create-density-splits" ]
|
| foreach(_density, _split_densities) {
|
| @@ -956,7 +976,11 @@ template("create_apk") {
|
|
|
| _package_resources_target_name = "${target_name}__package_resources"
|
| package_resources_helper(_package_resources_target_name) {
|
| - forward_variables_from(invoker, [ "extensions_to_not_compress" ])
|
| + forward_variables_from(invoker,
|
| + [
|
| + "android_aapt_path",
|
| + "extensions_to_not_compress",
|
| + ])
|
| deps = _deps
|
| android_manifest = _android_manifest
|
| resource_packaged_apk_path = _resource_packaged_apk_path
|
| @@ -999,7 +1023,11 @@ template("create_apk") {
|
| # TODO(agrieve): See if we can speed up this step by swapping the manifest
|
| # from the result of the main package_resources step.
|
| package_resources_helper(_incremental_package_resources_target_name) {
|
| - forward_variables_from(invoker, [ "extensions_to_not_compress" ])
|
| + forward_variables_from(invoker,
|
| + [
|
| + "android_aapt_path",
|
| + "extensions_to_not_compress",
|
| + ])
|
| deps =
|
| _incremental_deps + [ ":$_generate_incremental_manifest_target_name" ]
|
| android_manifest = _incremental_android_manifest
|
| @@ -1735,13 +1763,20 @@ template("process_resources") {
|
|
|
| _rebased_all_resource_dirs = rebase_path(_all_resource_dirs, root_build_dir)
|
| rebase_build_config = rebase_path(build_config, root_build_dir)
|
| +
|
| + if (defined(invoker.android_aapt_path)) {
|
| + _android_aapt_path = invoker.android_aapt_path
|
| + } else {
|
| + _android_aapt_path = android_default_aapt_path
|
| + }
|
| +
|
| args = [
|
| "--depfile",
|
| rebase_path(depfile, root_build_dir),
|
| "--android-sdk",
|
| rebase_path(android_sdk, root_build_dir),
|
| "--aapt-path",
|
| - android_aapt_path,
|
| + _android_aapt_path,
|
| "--android-manifest",
|
| rebase_path(android_manifest, root_build_dir),
|
| "--resource-dirs=$_rebased_all_resource_dirs",
|
| @@ -1775,6 +1810,10 @@ template("process_resources") {
|
| args += [ "--shared-resources" ]
|
| }
|
|
|
| + if (defined(invoker.app_as_shared_lib) && invoker.app_as_shared_lib) {
|
| + args += [ "--app-as-shared-lib" ]
|
| + }
|
| +
|
| if (defined(invoker.include_all_resources) &&
|
| invoker.include_all_resources) {
|
| args += [ "--include-all-resources" ]
|
|
|