c++层使用和编译aidl文件例子

c++层使用和编译aidl文件可以参考av/camera里的例子

这里给出了一个简化版的工程例子

测试的工程路径为源码路径下的frameworks/native/cmds/bitTube

aidl文件

ITest.aidl

 

package android.hardware;

 

interface ITest

{

       int getData();

}

 

在工程中创建目录aidl\android\hardware

把ITest.aidl放到该目录下

 

在mk文件中添加

LOCAL_AIDL_INCLUDES := frameworks/native/cmds/bitTube/aidl

 

LOCAL_SRC_FILES:= \

        service.cpp BitTube.cpp \

        aidl/android/hardware/ITest.aidl

 

编译,

在out中会生成对应的out/target/product/Test1/obj/EXECUTABLES/***_intermediates/aidl-generated目录

out/target/product/Test1/obj/EXECUTABLES/serverBiT_intermediates/aidl-generated/

tree –A Path

 

vi out/target/product/Test1/obj/EXECUTABLES/serverBiT_intermediates/aidl-generated/include/android/hardware/BnTest.h

 

 

在cpp中include一下,就可以直接使用生成的对象了

#include "android/hardware/ITest.h"

#include "android/hardware/BnTest.h"

 

//or declare using namespace and use BnTest derectly

class testManager : public android::hardware::BnTest

{

       int getData()

       {

              return 1;

       }

};

 

发布了336 篇原创文章 · 获赞 13 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/aaajj/article/details/87924692