Android servicemanager.cpp:servicemanager:在 VINTF 清单中找不到 <service>

问题描述 投票:0回答:2

我正在尝试基于 VHAL EVS 文档在 Android 内开发本机应用程序: https://source.android.com/docs/devices/automotive/camera-hal

我正在使用 x86_64 模拟器目标。午餐目标是 sdk_car_x86_64-userdebug,我使用 SDK 模拟器作为目标,我的 Android 版本是 13.0.0,版本 8。

我的第一个也是最困难的任务是在模拟器中启动并运行 evs 默认服务。理论上,所有代码都存在于 Android 源代码中,因此我将所需的服务添加到构建中:

diff --git a/common/car.mk b/common/car.mk
index cbcf55a..5897e90 100644
--- a/common/car.mk
+++ b/common/car.mk
@@ -18,6 +18,13 @@
 PRODUCT_PACKAGES += \
     android.hardware.automotive.vehicle@V1-emulator-service \
     [email protected] \
+    [email protected] \
+    android.frameworks.automotive.telemetry-V1-ndk \
+    [email protected] \
+    android.hardware.automotive.evs-V1-ndk \
+    [email protected] \
+    android.hardware.automotive.evs-aidl-default-service \
+    evs_app \
     android.hardware.audio.service-caremu

我构建目标(lunch sdk_car_x86_64-userdebug,mm -j8),准备模拟器(/device/generic/car/tools/test_pack_avd_img.sh),最后执行它,瞧,EVS 服务未运行。

让我们看看logcat:

02-13 10:47:31.364   236   236 I servicemanager: Could not find android.hardware.automotive.evs.IEvsEnumerator/default in the VINTF manifest.
02-13 10:47:31.365   933   933 E CarServiceJNI: android.hardware.automotive.evs.IEvsEnumerator/default is not available.
02-13 10:47:31.365   933   933 E CarServiceJNI: Failed to initialize a service context
02-13 10:47:31.365   933   933 E CAR.EVS : Transition failed: error = -1
02-13 10:47:32.366   933   933 D CAR.EVS : Trying to connect to the EVS HAL service.
02-13 10:47:32.366   933   933 I CAR.EVS : Transition requested: UNAVAILABLE -> INACTIVE 

可能是什么问题?为什么servicemanager找不到vintf清单?我查了一下,vintf 清单可以在这里找到:/vendor/etc/vintf/manifest/[email protected]

你知道我该如何进步吗?

我尝试使用不同的午餐目标,但至少只有 sdk_car_x86_64 支持开箱即用的 Automative OS 模拟器。

android-service android-automotive
2个回答
0
投票

您应该检查 evs hal 模块中是否有 hardware/interfaces/automotive/evs/aidl/impl/default/evs-default-service.xml ,如果没有,请从 aosp 源代码中复制它。如果存在,请检查您在清单 /vendor/etc/vintf/manifest/manifest.xml 中定位的 FCM,在该 FCM 版本中检查它是否需要 evs hal。

如果您的目标是aidl hal,也请删除这些

    [email protected] \
    android.hardware.automotive.evs-V1-ndk \
    [email protected] \

0
投票

我解决了这个问题。您可以执行以下步骤来解决此问题吗?在此处输入图像描述

© www.soinside.com 2019 - 2024. All rights reserved.