summaryrefslogtreecommitdiff
path: root/build/apex/Android.bp
diff options
context:
space:
mode:
Diffstat (limited to 'build/apex/Android.bp')
-rw-r--r--build/apex/Android.bp46
1 files changed, 39 insertions, 7 deletions
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index fb071f19f3..d5349b6229 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -59,7 +59,6 @@ art_runtime_base_native_shared_libs_minus_libart = [
// TODO(b/124476339): Clean up the following libraries once "required"
// dependencies work with APEX libraries.
"libart-compiler",
- "libartservice",
"libdt_fd_forward",
"libdt_socket",
"libjdwp",
@@ -167,6 +166,8 @@ art_tools_host_only_binaries = [
]
// Core Java libraries.
+// This list must be the same as art-bootclasspath-fragment because it's that which is pulled in
+// through bootclasspath_fragments below. (com.android.art-device-defaults-minus-odrefresh)
libcore_java_libs = [
"core-oj",
"core-libart",
@@ -251,6 +252,13 @@ art_module_apex_defaults {
},
}
+prebuilt_etc {
+ name: "com.android.art.init.rc",
+ src: "art.rc",
+ filename: "init.rc",
+ installable: false,
+}
+
// Default values shared by device ART APEXes.
apex_defaults {
name: "com.android.art-device-defaults-minus-odrefresh",
@@ -263,11 +271,15 @@ apex_defaults {
bootclasspath_fragments: ["art-bootclasspath-fragment"],
systemserverclasspath_fragments: ["art-systemserverclasspath-fragment"],
compat_configs: ["libcore-platform-compat-config"],
- java_libs: libcore_java_libs,
native_shared_libs: art_runtime_base_native_shared_libs +
art_runtime_base_native_device_only_shared_libs +
libcore_native_shared_libs,
+ jni_libs: [
+ "libartservice",
+ ],
binaries: [
+ "art_boot",
+ "art_exec",
"artd",
],
multilib: {
@@ -287,7 +299,7 @@ apex_defaults {
],
prebuilts: [
"art-linker-config",
- "com.android.art.artd.init.rc",
+ "com.android.art.init.rc",
"current_sdkinfo",
],
// ART APEXes depend on bouncycastle which is disabled for PDK builds.
@@ -298,9 +310,6 @@ apex_defaults {
enabled: false,
},
},
- // Indicates that pre-installed version of this apex can be compressed.
- // Whether it actually will be compressed is controlled on per-device basis.
- compressible: true,
}
apex_defaults {
@@ -321,6 +330,9 @@ apex_defaults {
art_runtime_run_test_libs +
art_runtime_debug_native_shared_libs +
libcore_debug_native_shared_libs,
+ jni_libs: [
+ "libartserviced",
+ ],
multilib: {
both: {
binaries: art_tools_debug_binaries_both +
@@ -358,6 +370,7 @@ apex_test {
file_contexts: ":com.android.art-file_contexts",
certificate: ":com.android.art.certificate",
installable: false,
+ compressible: false,
}
apex_test {
@@ -395,6 +408,7 @@ apex {
// ART gtests with dependencies on internal ART APEX libraries.
art_gtests = [
+ "art_artd_tests",
"art_cmdline_tests",
"art_compiler_tests",
"art_dex2oat_tests",
@@ -403,6 +417,7 @@ art_gtests = [
"art_dexdump_tests",
"art_dexlayout_tests",
"art_dexlist_tests",
+ "art_disassembler_tests",
"art_dexoptanalyzer_tests",
"art_imgdiag_tests",
"art_libartbase_tests",
@@ -415,7 +430,6 @@ art_gtests = [
"art_oatdump_tests",
"art_odrefresh_tests",
"art_profman_tests",
- "art_runtime_compiler_tests",
"art_runtime_tests",
"art_sigchain_tests",
]
@@ -430,7 +444,21 @@ apex_test {
certificate: ":com.android.art.certificate",
tests: art_gtests,
binaries: ["signal_dumper"], // Need signal_dumper for run-tests.
+ // Mark this test APEX as non-updatable, as its contains
+ // additional files (used only for testing) that would not pass
+ // dependency checks performed on updatable APEXes (see
+ // go/apex-allowed-deps-error).
updatable: false,
+ // Because this APEX is non-updatable, some of its native shared
+ // libraries (implicitly added as dependencies) are eligible to
+ // the symlink optimization. As we want this APEX to be
+ // self-contained (for testing purposes), we want to package
+ // these dependencies in this APEX, instead of symbolic links to
+ // their counterparts on the `system` partition, which may not
+ // even exist, as in the case of `libbacktrace` (see b/232790938
+ // and b/233357459). Marking this APEX as "future updatable"
+ // disables all symlink optimizations for it.
+ future_updatable: true,
}
// TODO: Do this better. art_apex_test_host will disable host builds when
@@ -505,6 +533,8 @@ python_binary_host {
art_check_apex_gen_stem = "$(location art-apex-tester)" +
" --deapexer $(location deapexer)" +
" --debugfs $(location debugfs_static)" +
+ " --fsckerofs $(location fsck.erofs)" +
+ " --blkid $(location blkid_static)" +
" --tmpdir $(genDir)"
// The non-flattened APEXes are always checked, as they are always generated
@@ -514,8 +544,10 @@ genrule_defaults {
defaults: ["art_module_source_build_genrule_defaults"],
tools: [
"art-apex-tester",
+ "blkid_static",
"deapexer",
"debugfs_static",
+ "fsck.erofs",
],
}