关于Android的硬件抽象层添加进Android系统默认编译的问题

这里主要是遇到两个问题:第一个是,本身编写的hal层源码怎么添加进Android的默认编译中去,也就是说在根目录执行make时,本身编写hal源码也会被编译。第二个问题是,编译完成后还要自动安装在指定的系统目录lib/hw下。源码

刚开始时不太了解,老是须要使用mmm来进行编译安装,可是打包以后再编译这是不现实的。为此须要添加到默认中去。编译

通常来讲hal层所在的位置在hardware/libhardware/modules目录下。假如我写个led的hal层,那么在modules目录下创建一个led文件夹便可,在led文件夹添加代码和Android.mk。对于第一个问题的解决方法是,修改modules目录下的Android.mk文件,在hardware_modules变量中添加led文件夹的名字便可。这样在默认中就会自动编译这个led的文件了。变量

这样虽然能够编译了,可是却不会自动安装。那么安装这个要修改哪里呢,找了很久终于找到了,要修改device/samsung/smdkv210/device.mk这个文件中的PRODUCT_PACKAGES变量,在该文件的最后添加PRODUCT_PACKAGES += led.default这行代码便可。module

有了以上两个修改,默认就会编译而且安装了,其余的也都相似了。打包

另外还有一个jni层的东西,这个修改添加的文件都是默认被编译安装的,只须要添加代码便可。方法

相关文章
相关标签/搜索