关于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 += freg.default这行代码即可。
有了以上两个修改,默认就会编译并且安装了,其他的也都类似了。
另外还有一个jni层的东西,这个修改添加的文件都是默认被编译安装的,只需要添加代码即可。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。