3)如何编译,这是一个新增的模块,比如你已经make过一次Android的源码了,此时就不要要重新make clean;make了,你只需要将模块编译好,然后再make snod即可将新的模块编译到镜像中。在源码的build目录下有一个配置环境的脚本envsetup.sh,此文件包含了一下编译工具m,mm,mmm,具体的功能你可以直接查看。这里编译使用到mmm。
在android源码包中执行
[root@localhost Android-2.3.1]# sh build/envsetup.sh
[root@localhost Android-2.3.1]#croot
此时mmm工具已经在当前的环境中,当然就可以使用mmm来编译模块了
[root@localhost Android-2.3.1]#mmm hardware/libhardware/modules/hello
然而出现了一些意想不到的错误
找不到liblog.so库文件,只能编译一下生成liblog.so这个库文件才可以。
4)编译生成liblog.so
[root@localhost Android-2.3.1]#make liblog
5)现在重新编译
[root@localhost Android-2.3.1]#mmm hardware/libhardware/modules/hello
终于看到生成hello.default.so库文件了,接下来重新打包
6)重新打包镜像
[root@localhost Android-2.3.1]make snod
7)接下来就是JNI封装 http://www.linuxidc.com/Linux/2013-04/83288.htm
更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11
联系客服