背景:rockchip3588 Android12源码编译HAL层,sdk源码包来自荣品,虚拟机为ubuntu18.04
在hardware/libhardware/include 下添加helloworld.h文件
在hardware/libhardware/module 下添加helloworld.c 和Android.mk文件
./build.sh编译后没有出现so文件的原因:需要加入全局编译!!!
在device/rockchip/rk3588/device.mk下没有加入module
需要加入
PRODUCT_PACKAGES += \
helloworld.default
helloworld的HAL层代码:
helloworld.h
#define ANDROID_HELLOWORLD_INTERFACE_H
#include <hardware/hardware.h>
__BEGIN_DECLS
//定义模块ID
#define HELLOWORLD_HARDWARE_MODULE_ID "helloworld"
/**
* Name of the graphics device to open
*/
#define HELLOWORLD_HARDWARE_GPU0 "gpu0"
//硬件模块结构
typedef struct helloworld_module_t
{
struct hw_module_t common;
char * description;
int methodsNum;
}helloworld_module_t;
//硬件接口结构体
typedef struct helloworld_device_t
{