Add native lib for the android display backend
It's not used by crosvm yet. And there are many TODOs left.
* Rename to libandroid_display_backend.so
* Use binderRPC over UDS
* Don't copy frames (b/331900473)
* Write in Rust
Bug: 325929966
Test: m
Change-Id: Ib4e5589d6200c5758a06e95fb5103e70b837bdae
diff --git a/libs/android_display_backend/Android.bp b/libs/android_display_backend/Android.bp
new file mode 100644
index 0000000..f818951
--- /dev/null
+++ b/libs/android_display_backend/Android.bp
@@ -0,0 +1,54 @@
+aidl_interface {
+ name: "libcrosvm_android_display_service",
+ srcs: [
+ "aidl/android/crosvm/ICrosvmAndroidDisplayService.aidl",
+ ],
+ include_dirs: [
+ "frameworks/native/aidl/gui",
+ ],
+ local_include_dir: "aidl",
+ unstable: true,
+ backend: {
+ java: {
+ enabled: true,
+ },
+ cpp: {
+ enabled: false,
+ },
+ rust: {
+ enabled: false,
+ },
+ ndk: {
+ enabled: true,
+ // To use Surface
+ additional_shared_libraries: [
+ "libnativewindow",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.virt",
+ ],
+ },
+ },
+}
+
+cc_library_static {
+ name: "libcrosvm_android_display_client",
+ srcs: [
+ "crosvm_android_display_client.cpp",
+ ],
+ stl: "libc++_static",
+ whole_static_libs: [
+ "libcrosvm_android_display_service-ndk",
+ "libyuv",
+ "libc++_static",
+ ],
+ shared_libs: [
+ "libbinder_ndk",
+ "libnativewindow",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.virt",
+ ],
+}