Index: build/config/android/rules.gni |
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni |
index e65607045caf93c1c238dda2cd3d80c8f40de0c6..9e7e604390ba19dc7c4a579c9226edb4d8f76b06 100644 |
--- a/build/config/android/rules.gni |
+++ b/build/config/android/rules.gni |
@@ -1191,9 +1191,16 @@ template("android_java_prebuilt") { |
# apk_name: Name for final apk. |
# final_apk_path: Path to final built apk. Default is |
# $root_out_dir/apks/$apk_name.apk. Setting this will override apk_name. |
+# loadable_modules: List of paths to native libraries to include. Different |
+# from |native_libs| in that: |
+# * dependencies of this .so are not automatically included, |
+# * ".cr.so" is never added |
+# * load_library_from_apk and enable_relocation_packing do not apply |
+# * not side-loaded for _incremental targets. |
pkotwicz
2015/11/25 01:18:34
Can you please:
- Explain why someone would want t
agrieve
2015/11/25 21:26:57
Added to the end:
# Use this instead of native
|
# native_libs: List paths of native libraries to include in this apk. If these |
# libraries depend on other shared_library targets, those dependencies will |
-# also be included in the apk. |
+# also be included in the apk. When building with is_component_build, |
+# The extension is automatically changed to ".cr.so". |
# native_lib_placeholders: List of placeholder filenames to add to the apk |
# (optional). |
# apk_under_test: For an instrumentation test apk, this is the target of the |
@@ -1266,6 +1273,10 @@ template("android_apk") { |
assert(_final_apk_path_no_ext != "") # Mark as used. |
_native_libs = [] |
+ _loadable_modules = [] |
+ if (defined(invoker.loadable_modules)) { |
+ _loadable_modules = invoker.loadable_modules |
+ } |
_version_code = "1" |
if (defined(invoker.version_code)) { |
@@ -1692,8 +1703,9 @@ template("android_apk") { |
":$final_dex_target_name", |
] |
- if (_native_libs != [] && !_create_abi_split) { |
+ if ((_native_libs != [] || _loadable_modules != []) && !_create_abi_split) { |
native_libs_dir = _native_libs_dir |
+ native_libs = _loadable_modules |
pkotwicz
2015/11/25 01:18:34
You are right. Having both |native_libs| and |nati
agrieve
2015/11/25 21:26:57
Acknowledged.
|
# Placeholders necessary for some older devices. |
# http://crbug.com/395038 |
@@ -1703,7 +1715,7 @@ template("android_apk") { |
} |
} |
- if (_native_libs != [] && _create_abi_split) { |
+ if ((_native_libs != [] || _loadable_modules != []) && _create_abi_split) { |
_manifest_rule = "${_template_name}__split_manifest_abi_${android_app_abi}" |
generate_split_manifest(_manifest_rule) { |
main_manifest = _android_manifest |
@@ -1732,6 +1744,7 @@ template("android_apk") { |
keystore_password = _keystore_password |
native_libs_dir = _native_libs_dir |
+ native_libs = _loadable_modules |
# Placeholders necessary for some older devices. |
# http://crbug.com/395038 |