设为首页 加入收藏

TOP

Android 系统开发之背光
2014-11-24 14:14:39 来源: 作者: 【 】 浏览:1
Tags:Android 系统 开发 背光

这次学习,也正是出于这样的想法,没想到这个设想高手们早就实现了哦,菜鸟现在也只能算是验证了。诶,菜鸟就是菜鸟,有虫子吃,就兴奋的不得了。


驱动架构略,这里只讨论jni接口的实现。


一、我的设想


其实设想很简单,找到背光驱动提供给上层的API接口,人家Android还不是一样需要一层一层的抽象(HAL、Framework),高手们考虑的东东很多,所以才一层层抽象封装,既然这样,咱菜鸟不就一根筋,有虫吃就是王道啊,我为什么不能直接将这个驱动接口封装成jni提供给Java呢?其实这想法很早就有了,只是到现在才验证,确实可以啊。其实Android中还是有N多这样的例子的。


背光驱动提供的接口是:/sys/class/leds/lcd-backlight/brightness。至于这个接口是怎么来的??那就要去看驱动结构了。驱动注册此接口的源码位于:


Kernel/driver/leds/led-class.c中。


这个文件只是实现了提供上层的接口,至于真正操作硬件的驱动程序,可以给出其源码路径为:(硬件操作其实就是脉宽调制(PWM)),mediatek\source\kernel\drivers\leds


二、设想验证


这里关键就是要清楚jni的接口实现规则咯,不过环境搭建也比较麻烦(ndk编译环境)。


环境搭建另外给出日志。


Jni接口的源码如下:


上层Java调用的源码如下:(只是实现了一个Button,点击,有一个消息响应,将背光调到20)


看上去,没几行代码,so easy!!看看高手们的实现吧!!


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ACE_Stream中的recv_n和send_n 下一篇用Eclipse 来导入Android 工程 总..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: