Statically link runtime libraries
libbase and libc++ don't have stable interfaces & aren't part of the
NDK, so we need to bundle them. But we don't need all of them, and our
payload is (mostly) a single .so, so we might as well statically link
only the parts we need.
Bug: 255920361
Test: atest MicrodroidTests
Change-Id: I60164921227249fef0447fe6c64647419d485dbc
diff --git a/tests/testapk/Android.bp b/tests/testapk/Android.bp
index 2439142..42abbbf 100644
--- a/tests/testapk/Android.bp
+++ b/tests/testapk/Android.bp
@@ -34,14 +34,15 @@
cc_library_shared {
name: "MicrodroidTestNativeLib",
srcs: ["src/native/testbinary.cpp"],
+ stl: "libc++_static",
shared_libs: [
- "libbase",
"libbinder_ndk",
"MicrodroidTestNativeLibSub",
"libvm_payload",
],
static_libs: [
"com.android.microdroid.testservice-ndk",
+ "libbase",
"libfsverity_digests_proto_cc",
"liblog",
"libprotobuf-cpp-lite-ndk",
@@ -52,9 +53,11 @@
name: "MicrodroidTestNativeCrashLib",
header_libs: ["vm_payload_headers"],
srcs: ["src/native/crashbinary.cpp"],
+ stl: "libc++_static",
}
cc_library_shared {
name: "MicrodroidTestNativeLibSub",
srcs: ["src/native/testlib.cpp"],
+ stl: "libc++_static",
}