summaryrefslogtreecommitdiff
path: root/build/apex
diff options
context:
space:
mode:
Diffstat (limited to 'build/apex')
-rw-r--r--build/apex/Android.bp34
-rwxr-xr-xbuild/apex/runtests.sh28
2 files changed, 23 insertions, 39 deletions
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index 193a3c17fe..79f67a2da7 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -28,21 +28,7 @@ bionic_native_shared_libs = [
bionic_binaries_both = [
"linker",
]
-// - Fake library that avoids namespace issues and gives some warnings for nosy apps.
-art_runtime_fake_native_shared_libs = [
- // FIXME: Does not work as-is, because `libart_fake` is defined in libart_fake/Android.mk,
- // and because a module defined in a Blueprint file cannot depend on a module defined in a
- // Makefile. To support `libart_fake` as a dependency of this APEX module, we can either
- // (probably in that order of preference):
- // a. translate that logic into Blueprint; or
- // b. write the whole Android Runtime APEX generation logic in Android.mk; or
- // c. introduce an `art_apex` module type extending the `apex` module type and write the
- // corresponding Go logic to handle this extra dependency.
- //"libart_fake",
-]
// - Debug variants (binaries for which a 32-bit version is preferred).
-// FIXME: These modules are optional (the built product can decide to include them or not).
-// Should they be moved to another APEX file?
art_runtime_debug_binaries_prefer32 = [
"dex2oatd",
"dexoptanalyzerd",
@@ -55,7 +41,6 @@ art_runtime_debug_native_shared_libs = [
"libopenjdkjvmd",
"libopenjdkjvmtid",
"libadbconnectiond",
- "libjavacrypto",
]
// Files associated with bionic / managed core library time zone APIs.
@@ -72,13 +57,15 @@ art_tools_common_binaries = [
"dexlist",
]
-art_tools_device_binaries = [
+// Device-only modules listed in LOCAL_REQUIRED_MODULES for module art-tools in art/Android.mk.
+art_tools_device_only_binaries = [
+ // oatdump cannot link with host linux_bionic due to not using clang lld;
+ // TODO: Make it work with clang lld.
"oatdump",
]
// Host-only modules listed in LOCAL_REQUIRED_MODULES for module art-tools in art/Android.mk.
-// TODO: Include these modules in the future "host APEX".
-art_tools_host_binaries = [
+art_tools_host_only_binaries = [
// FIXME: Does not work as-is, because `ahat` is defined in tools/ahat/Android.mk
// (same issue as for `libart_fake` above).
//"ahat",
@@ -86,7 +73,8 @@ art_tools_host_binaries = [
// ...
]
-art_tools_binaries = art_tools_common_binaries + art_tools_device_binaries
+art_tools_device_binaries = art_tools_common_binaries + art_tools_device_only_binaries
+art_tools_host_binaries = art_tools_common_binaries + art_tools_host_only_binaries
apex_key {
name: "com.android.runtime.key",
@@ -112,7 +100,6 @@ apex {
compile_multilib: "both",
manifest: "manifest.json",
native_shared_libs: art_runtime_base_native_shared_libs
- + art_runtime_fake_native_shared_libs
+ bionic_native_shared_libs,
multilib: {
both: {
@@ -141,7 +128,6 @@ apex {
compile_multilib: "both",
manifest: "manifest.json",
native_shared_libs: art_runtime_base_native_shared_libs
- + art_runtime_fake_native_shared_libs
+ art_runtime_debug_native_shared_libs
+ bionic_native_shared_libs,
multilib: {
@@ -156,7 +142,7 @@ apex {
+ art_runtime_debug_binaries_prefer32,
},
first: {
- binaries: art_tools_binaries,
+ binaries: art_tools_device_binaries,
}
},
prebuilts: art_runtime_time_zone_prebuilts
@@ -177,7 +163,6 @@ art_apex {
device_supported: false,
manifest: "manifest.json",
native_shared_libs: art_runtime_base_native_shared_libs
- + art_runtime_fake_native_shared_libs
+ art_runtime_debug_native_shared_libs,
multilib: {
both: {
@@ -186,8 +171,7 @@ art_apex {
binaries: art_runtime_base_binaries_both,
},
first: {
- // TODO: oatdump cannot link with host linux_bionic due to not using clang ld
- binaries: art_tools_common_binaries
+ binaries: art_tools_host_binaries
+ art_runtime_base_binaries_prefer32
+ art_runtime_debug_binaries_prefer32,
}
diff --git a/build/apex/runtests.sh b/build/apex/runtests.sh
index b5e8d8b7eb..9db325a71d 100755
--- a/build/apex/runtests.sh
+++ b/build/apex/runtests.sh
@@ -146,18 +146,19 @@ function check_release_contents {
# TODO: Check for it when it is also built for host.
: check_binary oatdump
- # Check that the mounted image contains ART libraries.
+ # Check that the mounted image contains Android Runtime libraries.
check_library libart-compiler.so
+ check_library libart-dexlayout.so
check_library libart.so
- check_library libopenjdkjvm.so
- check_library libopenjdkjvmti.so
- check_library libadbconnection.so
- # TODO: Should we check for these libraries too, even if they are not explicitly
- # listed as dependencies in the Android Runtime APEX module rule?
check_library libartbase.so
- check_library libart-dexlayout.so
check_library libdexfile.so
+ check_library libopenjdkjvm.so
+ check_library libopenjdkjvmti.so
check_library libprofile.so
+ # Check that the mounted image contains Android Core libraries.
+ check_library libjavacrypto.so
+ # Check that the mounted image contains additional required libraries.
+ check_library libadbconnection.so
# TODO: Should we check for other libraries, such as:
#
@@ -186,19 +187,18 @@ function check_debug_contents {
check_binary dexoptanalyzerd
check_binary profmand
- # Check that the mounted image contains ART debug libraries.
+ # Check that the mounted image contains Android Runtime debug libraries.
+ check_library libartbased.so
check_library libartd-compiler.so
+ check_library libartd-dexlayout.so
check_library libartd.so
+ check_library libdexfiled.so
check_library libopenjdkd.so
check_library libopenjdkjvmd.so
check_library libopenjdkjvmtid.so
- check_library libadbconnectiond.so
- # TODO: Should we check for these libraries too, even if they are not explicitly
- # listed as dependencies in the Android Runtime APEX module rule?
- check_library libdexfiled.so
- check_library libartbased.so
- check_library libartd-dexlayout.so
check_library libprofiled.so
+ # Check that the mounted image contains additional required libraries.
+ check_library libadbconnectiond.so
}
# Testing target (device) APEX packages.