1.在hardware/interfaces下创建自己的模块文件夹,然后创建对应aidl文件和bp文件
aidl
├── android
│ └── hardware
│ └── innocnsignal
│ ├── IInnocnSignal.aidl
│ └── IInnocnSignalCallback.aidl
├── Android.bp
其中IInnocnSignal.aidl为hal层需要实现的服务端,IInnocnSignalCallback.aidl为回调接口,需要转递给上层Framework实现。
#IInnocnSignal.aidl
package android.hardware.innocnsignal;
import android.hardware.innocnsignal.IInnocnSignalCallback;
@VintfStability
interface IInnocnSignal {
String getAcessState();
boolean setDisplaySignal(String status);
void setCallback(in IInnocnSignalCallback callback);
void onStatusChange();
}#IInnocnSignalCallback.aidl
package android.hardware.innocnsignal;@VintfStability
interface IInnocnSignalCallback {
oneway void onStatusChange();
}
#Android.bp
aidl_interface {
name: "android.hardware.innocnsignal",
vendor_available: true,
srcs: ["android/hardware/innocnsignal/*.aidl"],
stability: "vintf",
owner: "gaochengfu",
backend: {
java: {
enabled: true,
sdk_version: "module_current",
},
ndk: {
vndk: {