diff --git a/threadnetwork/aidl/default/Android.bp b/threadnetwork/aidl/default/Android.bp index bcd570498e..62c8c9e937 100644 --- a/threadnetwork/aidl/default/Android.bp +++ b/threadnetwork/aidl/default/Android.bp @@ -9,22 +9,21 @@ // in whole or in part, without the express written permission of // Google LLC. -cc_defaults { - name: "threadnetwork_service_default", - vintf_fragments: ["threadnetwork-default.xml"], +cc_binary { + name: "android.hardware.threadnetwork-service", vendor: true, relative_install_path: "hw", shared_libs: [ - "android.hardware.threadnetwork-V1-ndk", - "libbase", "libbinder_ndk", - "libcutils", "liblog", - "libutils", ], static_libs: [ + "android.hardware.threadnetwork-V1-ndk", + "libbase", + "libcutils", + "libutils", "openthread-common", "openthread-hdlc", "openthread-platform", @@ -33,6 +32,8 @@ cc_defaults { "openthread-url", ], + stl: "c++_static", + srcs: [ "main.cpp", "service.cpp", @@ -41,22 +42,10 @@ cc_defaults { ], } -cc_binary { - name: "android.hardware.threadnetwork-service.sim", - defaults: ["threadnetwork_service_default"], - init_rc: ["android.hardware.threadnetwork-service.sim.rc"], - required: ["ot-rcp"], -} - -cc_binary { - name: "android.hardware.threadnetwork-service", - defaults: ["threadnetwork_service_default"], -} - cc_fuzz { name: "android.hardware.threadnetwork-service.fuzzer", - defaults:["service_fuzzer_defaults"], + defaults: ["service_fuzzer_defaults"], shared_libs: [ "libbinder_ndk", ], @@ -85,3 +74,36 @@ cc_fuzz { ], }, } + +prebuilt_etc { + name: "threadnetwork-default.xml", + src: "threadnetwork-default.xml", + sub_dir: "vintf", + installable: false, +} + +prebuilt_etc { + name: "threadnetwork-service-sim.rc", + src: "threadnetwork-service-sim.rc", + installable: false, +} + +apex { + name: "com.android.hardware.threadnetwork", + manifest: "manifest.json", + file_contexts: "file_contexts", + key: "com.android.hardware.key", + certificate: ":com.android.hardware.certificate", + updatable: false, + vendor: true, + + binaries: [ + "android.hardware.threadnetwork-service", + "ot-rcp", + ], + prebuilts: [ + "threadnetwork-default.xml", // vintf_fragment + "threadnetwork-service-sim.rc", // init_rc + "android.hardware.thread_network.prebuilt.xml", // permission + ], +} diff --git a/threadnetwork/aidl/default/android.hardware.threadnetwork-service.sim.rc b/threadnetwork/aidl/default/android.hardware.threadnetwork-service.sim.rc deleted file mode 100644 index 2fb409cd93..0000000000 --- a/threadnetwork/aidl/default/android.hardware.threadnetwork-service.sim.rc +++ /dev/null @@ -1,3 +0,0 @@ -service vendor.threadnetwork_hal /vendor/bin/hw/android.hardware.threadnetwork-service.sim spinel+hdlc+forkpty:///vendor/bin/ot-rcp?forkpty-arg=1 - class hal - user thread_network diff --git a/threadnetwork/aidl/default/file_contexts b/threadnetwork/aidl/default/file_contexts new file mode 100644 index 0000000000..39ba3b5b3d --- /dev/null +++ b/threadnetwork/aidl/default/file_contexts @@ -0,0 +1,4 @@ +(/.*)? u:object_r:vendor_file:s0 +/etc(/.*)? u:object_r:vendor_configs_file:s0 +/bin/hw/android\.hardware\.threadnetwork-service u:object_r:hal_threadnetwork_default_exec:s0 +/bin/ot-rcp u:object_r:ot_rcp_exec:s0 diff --git a/threadnetwork/aidl/default/manifest.json b/threadnetwork/aidl/default/manifest.json new file mode 100644 index 0000000000..61e6dc1967 --- /dev/null +++ b/threadnetwork/aidl/default/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "com.android.hardware.threadnetwork", + "version": 1 +} diff --git a/threadnetwork/aidl/default/threadnetwork-service-sim.rc b/threadnetwork/aidl/default/threadnetwork-service-sim.rc new file mode 100644 index 0000000000..3b889eb23a --- /dev/null +++ b/threadnetwork/aidl/default/threadnetwork-service-sim.rc @@ -0,0 +1,3 @@ +service vendor.threadnetwork_hal /apex/com.android.hardware.threadnetwork/bin/hw/android.hardware.threadnetwork-service spinel+hdlc+forkpty:///apex/com.android.hardware.threadnetwork/bin/ot-rcp?forkpty-arg=1 + class hal + user thread_network