Android源码学习之路
本专栏主要对于android源码的学习,以及一些底层的移植简介,主要致力于android源码中的framework,hal层的学习记录!
东月之神
别驻足,梦想要不停追逐;别认输,熬过黑夜才有日出。要记住,成功就在下一步;路很苦,汗水是最美的书!
展开
-
和菜鸟一起学android4.0.3源码之wifi direct的简单分析
关于wifi directWifi direct的连接 下面的图表示的是wifi direct的发现过程。 整个过程可以见下图。关于android上的wifi direct首先上层通过调用p2p manager的接口来实现p2p的使能,扫描,连接,群组的创建等等的功能。具体接口如下。 如上图所示,p2p的所有的处理都是在p2pservic原创 2013-03-26 14:34:54 · 10992 阅读 · 12 评论 -
和菜鸟一起学android4.0.3源码之wifi的简单分析
关于wlan的组成 关于wifi应用层的接口的调用 首先从上层android wifi的应用开始,首先会根据android的wifimanager的类,实例化一个mwifimanager的对象,这个对象处理了所有wifi需要处理的任务,接着比如说打开wifi,那么就会调用 mWifiManager.isWifiEnabled();判断wifi是否已经打开,如果没有打开原创 2013-03-26 14:05:01 · 11331 阅读 · 24 评论 -
和菜鸟一起学android4.0.3源码之硬件gps简单移植
关于android定位方式android 定位一般有四种方法,这四种方式分别是GPS定位、WIFI定位、基站定位、AGPS定位。1、 Android GPS需要GPS硬件支持直接和卫星交互来获取当前经纬度,这种方式需要手机支持GPS模块现在大部分的智能机应该都有了。通过GPS方式准确度是最高的但是它的缺点也非常明显。1、 比较耗电2、 绝大部分用户默认不开启GPS模块3、原创 2013-02-02 12:00:40 · 21252 阅读 · 20 评论 -
和菜鸟一起学android4.0.3源码之传感器的简单移植
对于加速度传感器,我们只需要知道他的三轴的数据,而android上层也是只需要一个数据结构中的数据而已。 1、关于linux驱动层驱动主要是注册了input设备,通过i2c接口读取传感器寄存器中的三轴数据,并上报这三个数据。 2、关于android硬件抽象层在hardware\libhardware\include\hardware下有一个sensors.h的头文件,原创 2013-01-13 16:36:15 · 3330 阅读 · 1 评论 -
和菜鸟一起学android4.0.3源码之按键驱动短长按功能
一切再次回到原点,一切都又开始了正常的路线,上班,下班。每每一个人回到那小小的屋子,觉得什么也不是。想离开,又不知道要去哪。日子还是一天天过去,地球不因任何人改变它的转速,月亮也不会为了谁而改变她的形状。平静,也许就是一种幸福。 上周由于其他部门需要用我们的芯片,得模拟个input设备,用以mcu按键传递过来后的处理。所以只能屁颠屁颠地去实现了,还好以前做过类似的驱动,于是很快原创 2012-09-04 16:03:43 · 5476 阅读 · 1 评论 -
和菜鸟一起学android4.0.3源码之vibrator振动器移植心得
手机都是有震动的效果的,前天飞刀从手机里拆了一个振动器,然后让我下周把这个调一下,昨天来公司小试了一把,就搞定了。下面把过程讲一下吧。 其实android中已经做好了底层的驱动,那便是timed_gpio,就是把定时功能和gpio的功能结合在一起了,振动就是一个小直流电机了,当gpio口是高电平的时候,电机就转动了,当gpio口为低电平的时候,电机就不转了,而time是控制转的原创 2012-08-26 19:06:40 · 3986 阅读 · 3 评论 -
和菜鸟一起学android4.0.3源码之lcd屏幕背光调节
周六的中午还是依旧来了公司,本来也没有打算来的,既然来了,那就把上次遗留下来的一些问题给解决吧,把android下的pwm调lcd背光给总结下吧。关于android的背光,是用pwm波来控制的,通过占空比的不同,得到不同的电压值,从而点亮的lcd的亮度就不同了。具体的也就是控制了电压值而已。 要在android上层搞定背光的调节,那么必须准备底层驱动了,首先就是那个back原创 2012-08-11 15:37:45 · 8379 阅读 · 4 评论 -
和菜鸟一起学android4.0.3源码之USB wifi移植心得
一天又过去了,台风也走了有些时候了。想了想,自己还是冲动了一把,不该发那个邮件的,既然发了,也不后悔了。知道了所有也未必不是一件好事。恩,剩下的就好好做自己要做的事情吧。对于usb wifi,老早就在调试了,只是碰到了很多问题,加上其他的事情也迎面而来,从而导致很多的困难,也就搁置着了。上上周,工作计划一周内要搞定,郁闷着了,这个涉及到的太多太多了,不好移植啊。只能加班了,天天看代码了。在移植完b原创 2012-08-10 09:48:04 · 10455 阅读 · 8 评论 -
和菜鸟一起学android4.0.3源码之bluetooth移植心得
近几周一直在移植bluetooth和wifi,看书的时间也没,也没有时间思考一些问题,总结一些移植碰到的困难之类的。前天,终于蓝牙也可以传输文件,通过a2dp播放音乐了,wifi也可以扫描到网络,并可以连接了,因为平台中有本地的一个nfs挂载,所以要上外网,必须要sd卡启动才可以。 昨天的台风“海葵”在家乡登陆,虽然家里没出什么事,但是家乡遭受到这14级台风,肯定损失惨重啊。在此只能原创 2012-08-09 11:39:52 · 10064 阅读 · 21 评论 -
和菜鸟一起学android4.0.3源码之SD卡U盘等自动挂载配置
一直以为android sd卡的自动挂载是在vold中实现的,而其配置文件在网上也很容易找到是哪个system/etc/vold.fstab,中,其配置文件就是mount,一般都是如下所示:dev_mount sdcard /mnt/sdcard 3 /devices/platform/sc65-sdhci.0/mmc_host/mmc0/mmc0:0001/block/mmcblk0 non原创 2012-07-21 12:51:12 · 6282 阅读 · 0 评论 -
和菜鸟一起学android4.0.3源码之红外遥控器适配
其实,这个是来到公司,做linux驱动的第一个任务,照理来说应该是要放在linux那块的,只是,linux下的红外遥控器很多,而网上关于android下的红外遥控一直都没有什么资料可以学习,仅记下来,为了温故知新。 在此,已经调试好linux下的IR的驱动,一开始是以char设备来注册的,不过想着android下,基本都是input设备的,因为EventHub下打开的是/dev原创 2012-06-28 09:03:28 · 13211 阅读 · 2 评论 -
和菜鸟一起学android4.0.3源码之touchscreen配置+调试记录
记得应该是上上周了,终于毕业了,离开了学校,就得面对现实的社会,以前学校实验室里,老师给了钥匙,那电脑随便用,那元器件随便玩,什么51单片机啊,PIC单片机啊,FPGA啊,arm11啊什么的。想着做什么就直接万用版+电烙铁什么的一起搞定。调试,写程序,焊板子都是自己一手操办啊,多么自由啊。到了公司,可不依你,对于上市公司来说,管理什么的总归还是有些规范化的。 对于嵌入式,虽然早有原创 2012-06-27 20:40:31 · 10983 阅读 · 6 评论 -
和菜鸟一起学android4.0.3源码之鼠标光标绘制简略版
搞定了android4.0.3的触摸屏的适配后(其实只要驱动没有什么问题,加个配置文件就很容易搞定了),新的任务就下来了,就是要寻找android4.0.3中的鼠标是如何绘画的,哪里createSurface,哪里分配空间的。因为如果是软鼠标的话,在播放视频或者玩大型游戏的时候是很卡的,而走overlay,硬鼠标的话,就显得很灵敏了。艰巨的任务啊,看了我好久还是没有找到鼠标是在哪里绘制的。因为an原创 2012-06-27 18:12:37 · 8445 阅读 · 8 评论