CarEngine 封装了 CarService 的各种 Car*Manager,并提供了方便的 API 来连接 CarService、注册车辆信号、收发车辆信号等功能。
应用开发者只需要关注 CarEngine 定义的 Car Event,无需关注 Property ID,不用看矩阵表格,且车辆信号矩阵改变时也无需修改代码。
CarEngine 还提供方便的基于 shell 的调试工具,可以发送信号、链接上下行信号。
CarEngine 要做的是:「向上提供统一 API,向下兼容各种变化(CarService、信号矩阵)。」
目前 CarEngine 已集成进 M01 和 X01 中。
Android.bp 编译方式:
android_app {
libs: [
"liauto.carengine",
]
}
Android.mk 编译方式:
LOCAL_JAVA_LIBRARIES += \\
liauto.carengine
Gradle 编译方式:
// Path: vendor/(chehejia|liauto)/packages/libs/CarEngine/prebuilts/liauto.carengine.jar
dependencies {
compileOnly files('libs/liauto.carengine.jar')
}
在 AndroidManifest.xml 中声明使用 CarEngine 及声明调用 VHAL 的权限。
<uses-permission android:name="android.car.permission.CAR_VENDOR_EXTENSION" />
<application android:label="XXX">
<uses-library android:name="liauto.carengine" />
</application>