Move dexdiag out of the release APEX, to avoid dependencies on
lib{proc,mem}info there.
Also deduped the dexdump and dexlist checks in art_apex_test.py.
Test: art/build/apex/runtests.sh (on aosp_taimen, aosp_cf_x86_phone, hikey64_only)
Bug: 124293228
Bug: 118374951
Change-Id: I8b4c09222cafa4150a1753637b6aa5349bf4477c
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index bfa4043..3d5d039 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -82,11 +82,15 @@
// Tools common to both device APEX and host APEX. Derived from art-tools in art/Android.mk.
art_tools_common_binaries = [
- "dexdiag",
"dexdump",
"dexlist",
]
+// Tools common to both device and host debug APEXes.
+art_tools_debug_binaries = [
+ "dexdiag",
+]
+
// Tools exclusively for the device APEX derived from art-tools in art/Android.mk.
art_tools_device_only_binaries = [
// oatdump cannot link with host linux_bionic due to not using clang lld;
@@ -108,9 +112,6 @@
"hprof-conv",
]
-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
-
// Libraries needed to use com.android.runtime.host for zipapex run-tests
art_runtime_host_run_test_libs = [
"libartd-disassembler"
@@ -207,7 +208,8 @@
binaries: art_runtime_base_binaries_prefer32,
},
first: {
- binaries: art_tools_device_binaries,
+ binaries: art_tools_common_binaries
+ + art_tools_device_only_binaries,
}
},
binaries: [
@@ -246,7 +248,8 @@
+ art_runtime_debug_binaries_prefer32_device,
},
first: {
- binaries: art_tools_debug_device_only_binaries,
+ binaries: art_tools_debug_binaries
+ + art_tools_debug_device_only_binaries,
}
},
certificate: ":com.android.runtime.debug.certificate",
@@ -278,7 +281,9 @@
+ art_runtime_debug_binaries_both_host,
},
first: {
- binaries: art_tools_host_binaries
+ binaries: art_tools_common_binaries
+ + art_tools_debug_binaries // Host APEX is always debug.
+ + art_tools_host_only_binaries
+ art_runtime_base_binaries_prefer32
+ art_runtime_debug_binaries_prefer32,
}
diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py
index a1fe713..d60020c 100755
--- a/build/apex/art_apex_test.py
+++ b/build/apex/art_apex_test.py
@@ -383,8 +383,10 @@
# Check the APEX manifest.
self._checker.check_file('apex_manifest.json')
- # Check base binaries for ART.
+ # Check binaries for ART.
self._checker.check_executable('dex2oat')
+ self._checker.check_executable('dexdump')
+ self._checker.check_executable('dexlist')
self._checker.check_executable('dexoptanalyzer')
self._checker.check_executable('profman')
self._checker.check_symlinked_multilib_executable('dalvikvm')
@@ -468,9 +470,6 @@
self._checker.check_executable('art_prepostinstall_utils')
# Check binaries for ART.
- self._checker.check_executable('dexdiag')
- self._checker.check_executable('dexdump')
- self._checker.check_executable('dexlist')
self._checker.check_executable('oatdump')
# Check internal libraries for ART.
@@ -498,10 +497,6 @@
self._checker.check_native_library('libtombstoned_client')
self._checker.check_native_library('libz')
- # TODO(b/124293228): Figure out why we get these.
- self._checker.check_prefer64_library('libmeminfo')
- self._checker.check_prefer64_library('libprocinfo')
-
# TODO(b/124293228): Cuttlefish puts ARM libs in a lib/arm subdirectory.
# Check that properly on that arch, but for now just ignore the directory.
self._checker.ignore_path('lib/arm')
@@ -541,8 +536,6 @@
def run(self):
# Check binaries for ART.
self._checker.check_executable('dexdiag')
- self._checker.check_executable('dexdump')
- self._checker.check_executable('dexlist')
# Check debug binaries for ART.
self._checker.check_executable('dexoptanalyzerd')
@@ -591,6 +584,8 @@
# package we need to look out for dependencies that should go through
# exported library stubs (until b/128708192 is fixed).
self._checker.check_optional_native_library('libvixld') # Only on ARM/ARM64
+ self._checker.check_prefer64_library('libmeminfo')
+ self._checker.check_prefer64_library('libprocinfo')
class NoSuperfluousBinariesChecker: