`
dowhathowtodo
  • 浏览: 779101 次
文章分类
社区版块
存档分类
最新评论

Android的Framework和HAL层LED实现方法

 
阅读更多
想从6410上把这几个步骤完整做一遍。做了几步之后,做不下去了。 我是这样做的 1. 编写led的驱动程序,方法是按照标准的linux字符型驱动的方式写的,参照jollen的写法,实现了ioctl中队LED的控制,生成了s3c_led.ko。 2. insmod s3c_led.ko 并且mknod /dev/led c 230 0 使用应用程序进行测试,驱动可以正常工作 3. 编译mokoid/hardware/modules/led下的led.c,方法是mm,生成led.default.so 对vendor/mokoid/hardware/modules/test下的led.cpp编译成为可执行文件进行测试,可以正常工作并可以对LED 进行控制,说明HAL层中的stub可以正常工作。 4.第三步中的Led.cpp应该对应于途中的native service,说明native service可以正常调用到HAL。编译mokoid/frameworks/base/service/jni下的文件,生成 libmokoid_runtime.so这个动态链接库应该对应于native service。为java service提供所谓“实作” 5.这一步不知道如何去做了mokoid/frameworks/base/service/java/com/mokoid/server下的LedService.java应该对应的是java service,它应该编译成jar的吗?该如何去编译呢?这部分属于framework吗?它该如何才能被执行才能实现对libmokoid_runtime.so进行加载呢? 7.mokoid/frameworks/base/core/java/mokoid/hardware对应的aidl文件生成的 ILedService.java和LedManager.java应该是对应于app/Manager,这部分按照我的理解应该是和应用程序运行于一个进程中的,所以可以用应用程序通过import库的方法进行调用。所以这部分需要生成对应的jar。提供给应用程序做为api函数。 它与app servie通过Binder进行通信。这个jar的生成必须通过make sdk来生成吗?有没有直接点的方法呢?比如说可不可以做成一个apk文件?(既然它和应用程序在一个空间运行) 终于可以了,GOD。原来是android的权限问题。在 /nfs/system/etc/permissions下需要增加一个com.mokoid.server.xml文件,用于对mokoid.jar进行授权,不然程序无法正确执行,会有exception发生(即使改了应用程序apk里的xml依赖库也不行)。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics