summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.mk11
-rw-r--r--build/apex/Android.bp37
-rwxr-xr-xbuild/apex/runtests.sh9
3 files changed, 50 insertions, 7 deletions
diff --git a/Android.mk b/Android.mk
index b9f617035c..d6392201cb 100644
--- a/Android.mk
+++ b/Android.mk
@@ -326,6 +326,17 @@ endif
#######################
+# Android Runtime APEX.
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := com.android.runtime
+# TODO: Select the debug module (`com.android.runtime.debug`) for
+# userdebug and eng products.
+LOCAL_REQUIRED_MODULES := com.android.runtime.release
+include $(BUILD_PHONY_PACKAGE)
+
+
+#######################
# Fake packages for ART
# The art-runtime package depends on the core ART libraries and binaries. It exists so we can
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index 8bddb5dfe7..bfaacb10fa 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -72,8 +72,41 @@ apex_key {
private_key: "runtime.pem",
}
+// TODO: Introduce `apex_defaults` to factor common parts of `apex`
+// module definitions below?
+
+// Release version of the Runtime APEX module (not containing debug
+// variants nor tools), included in user builds. Also used for
+// storage-constrained devices in userdebug and eng builds.
+apex {
+ name: "com.android.runtime.release",
+ compile_multilib: "both",
+ manifest: "manifest.json",
+ native_shared_libs: art_runtime_base_native_shared_libs
+ + art_runtime_fake_native_shared_libs,
+ multilib: {
+ both: {
+ // TODO: Add logic to create a `dalvikvm` symlink to `dalvikvm32` or `dalvikvm64`
+ // (see `symlink_preferred_arch` in art/dalvikvm/Android.bp).
+ binaries: art_runtime_base_binaries_both,
+ },
+ prefer32: {
+ binaries: art_runtime_base_binaries_prefer32,
+ },
+ first: {
+ binaries: [],
+ }
+ },
+ key: "com.android.runtime.key",
+ // TODO: Also package a `ld.config.txt` config file (to be placed in `etc/`).
+ // ...
+}
+
+// "Debug" version of the Runtime APEX module (containing both release and
+// debug variants, as well as additional tools), included in userdebug and
+// eng build.
apex {
- name: "com.android.runtime",
+ name: "com.android.runtime.debug",
compile_multilib: "both",
manifest: "manifest.json",
native_shared_libs: art_runtime_base_native_shared_libs
@@ -87,7 +120,7 @@ apex {
},
prefer32: {
binaries: art_runtime_base_binaries_prefer32
- + art_runtime_debug_binaries_prefer32
+ + art_runtime_debug_binaries_prefer32,
},
first: {
binaries: art_tools_binaries,
diff --git a/build/apex/runtests.sh b/build/apex/runtests.sh
index 6af2a8bc5c..86cd8cb758 100755
--- a/build/apex/runtests.sh
+++ b/build/apex/runtests.sh
@@ -79,7 +79,8 @@ function finish {
trap finish EXIT
-apex_module="com.android.runtime"
+# TODO: Also exercise the Release Runtime APEX (`com.android.runtime.release`).
+apex_module="com.android.runtime.debug"
# Build the Android Runtime APEX package (optional).
$build_apex_p && say "Building package" && make "$apex_module"
@@ -190,10 +191,8 @@ check_library libprofiled.so
# libsigchain.so
# libtombstoned_client.so
# libunwindstack.so
-# libvixl-arm64.so
-# libvixl-arm.so
-# libvixld-arm64.so
-# libvixld-arm.so
+# libvixl.so
+# libvixld.so
# ...
#
# ?