本文中Helloworld 位于hardware/interfaces中,所以目录路径为hardware/interfaces/helloworld/1.0。
cd ./hardware/interfaces/helloworld/1.0
创建文件IHelloWorld.hal
package android.hardware.helloworld@1.0;
interface IHelloWorld {
justTest(string name) generates (string result, HelloTest value);
justTest1(HelloTest name);
};
创建文件:types.hal
package android.hardware.helloworld@1.0;
enum HelloTest : uint8_t {
V_TEST1 = 0,
V_TEST2 = 1,
};
自动生成.bp文件的命令:
source ./build/envsetup.sh
lunch
./hardware/interfaces/update-makefiles.sh
用hidl-gen生成空.cpp文件,
#! /bin/bash
PACKAGE=android.hardware.helloworld@1.0
LOC=hardware/interfaces/helloworld/1.0/default/
hidl-gen -o $LOC -Lc++-impl -randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport $PACKAGE
hidl-gen -o $LOC -Landroidbp-impl -randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport $PACKAGE
保存文件gen_cpp.sh,运行gen_cpp.sh后产生default目录和.cpp .h .bp文件,其中cpp文件就是我们需要实现的。
编辑.cpp