Android底层开发工作小结
2010 - 微博元年,智能手机元年,2011 - 平板电脑元年,2012 - 智能电视元年。
又到年末,是时候梳理下Android开发工作,展望下未来了。
本文仅供我个人参考...
开发产品 电子书 手机 平板电脑
负责模块 Camera, Sound, SD, USB, G-sensor, TP
软件平台 Android 1.6/2.2/2.3
硬件平台 Mavell PXA935, Freescale IMX51, Qualcomm MSM8255
1. Camera
理论储备 软件架构和硬件原理 http://blog.csdn.net/qianjin0703/article/details/6233790
1) 开发8MP+ISP+MIPI 驱动 (MSM8255)
主要职责
- 编写驱动代码,调通camera sensor驱动,并实现前后置双camera的切换。
- 根据芯片手册,实现基本功能 - 预览, 拍照, 录像, 效果(scene, effect, ev, iso, wb, contrast...)
- 技术支持下,实现进阶扩展功能 - 防抖, 自动对焦, 闪光灯, 固件升级, 720P, wdr, panorama...
- I2C不通 - 初期调试驱动,任何GPIO,供电,时钟,上电时序没配正确都会导致I2C不通。
- raw拍照死机 - ISP拍照后将图片硬解压缩成JPEG无法与高通平台的camera interface接收端VFE匹配。
- 预览视频旋转90度 - 硬件问题,必须保证装配camera时,镜头长边与手机长边是平行的而不是垂直的。
- 第三方软件问题多 - 修改高通平台代码时要注意代码的兼容性和健壮性。
- 添加新功能新接口 - 必须熟悉高通独有的Qcamera架构,修改所涉及到的代码较多。
- 自动对焦和色彩效果设置无效 - 场景模式scene里的设置与其他效果产生了冲突。
- 开启程序过慢,照片在PC上颠倒,转屏时预览视频会卡一下,录像时有自动对焦,没有自动识别场景和闪光功能等bug。
2) 移植,调试,升级camera模块 (IMX51)
主要职责 解决bug和升级Android2.3
- 开启程序速度慢 - 去掉检测SD卡过程。
- 优化图像效果 - 协调硬测与FAE。
- 视频通话画质差 - 更新视频编解码动态链接库。
- Overlay偏移 - 设定固定的视频大小。
2. Sound
理论储备 软件架构和硬件原理 http://blog.csdn.net/qianjin0703/article/details/6387662
主要职责
- 移植音频codec驱动,升级Android 2.3。
- 解决bug,主要修改Mixer通道和调试Vol增益。
- 添加DSP功能消回音 (FAE支持)。
3. SD
理论储备
Linux的SDIO子系统
http://blog.csdn.net/qianjin0703/article/details/5918041
Android的Vold架构
http://blog.csdn.net/qianjin0703/article/details/6362389
主要职责
- 移植SD卡和inand驱动。
- 解决bug, 如快速热插拔不识别,部分SD卡不识别,系统启动后inand不识别等。
4. USB
理论储备
Linux的USB子系统
http://blog.csdn.net/qianjin0703/article/details/6559033
Linux的USB Gadget
http://blog.csdn.net/qianjin0703/article/details/6141763
主要职责
- 添加自动挂载U盘功能。
- 添加USB自动充电功能。
5.G-sensor
理论储备
Linux的I2C架构
http://blog.csdn.net/qianjin0703/article/details/5894869
Android的传感器架构
http://blog.csdn.net/qianjin0703/article/details/5942579
主要职责
- 移植G-sensor驱动。
- 直接在底层实现显示屏,触摸屏和键盘的90/180翻转。
6. TP
理论储备
Linux的Input子系统
http://blog.csdn.net/qianjin0703/article/details/6025673
触摸屏矫正原理
http://blog.csdn.net/qianjin0703/article/details/6087647
主要职责
- 移植电磁屏驱动。
- 修改触摸屏矫正程序。
7. Other
- 编写Android ATE和FCT工厂测试程序。
- 移植键盘驱动,添加网络按键。
- 移植振动传感器驱动,修改振动幅度。
- 移植滑动电容屏驱动,调节灵敏度。
- 在Bootloader里实现开机前USB充电,添加开机指示灯。
Android底层开发工作小结相关推荐
- linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...
内容简介 本书从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核.移植和驱动开发的整个流程.全书分为21章,依次讲解驱动移植的必要性, Goldfish.OMAP内核和驱动解析,显示 ...
- Android 底层开发概述(二)
1. android底层开发 涉及到的知识范围和主要工作内容如下: 1. 知识集中在Linux kernel和驱动: 2. 工作主要是移植.bug fix: 3. 挑战性工作有:性能优化.功耗优化等. ...
- AndroidStudio_安卓原生开发_蓝牙扫描设备_另一种方法---Android原生开发工作笔记145
下面的一个方法是之前写的,但是那种方法有时候会有扫描不到的情况,现在再写一种,这种方法,更简单有效一些. AndroidStudio安卓原生开发_Android扫描附近指定的蓝牙设备_通过设备名称过滤 ...
- Android底层开发学习笔记 第一天
今天,开始学习Android底层的开发.(注:我是新手小白,纯粹学习笔记,大神们可以直接略过了) 第一部分 编译运行我的第一个Android system. 准备工作: 下载源码:包括u-boot源码 ...
- 嵌入式,单片机,ARM,Android底层开发之间的关系
很多人在问我们学这些东西能干什么,这些东西有什么关系,我该学那个? 想知道这些首先得知道这些东西都试试很么. 单片机(Microcontrollers,亦称MCU)包括了CPU.随机存储器RAM.只读 ...
- Android 底层开发概述(一)
1. Android移植 Linux 驱动程序工作在内核空间,android的HAL工作在用户空间,有了这两个部分的结合,就可以让庞大的android系统运行在特定的硬件平台上. 在具有了特定的硬件平 ...
- AndroidStudio_下载和安装---Android原生开发工作笔记67
以前写的那个教程到66,是用eclipse,安装插件来开发Android原生程序的,那个已经是,8年前才那么做的, 现在公司让做Android原生开发...再来学一学,这个新的AndroidStudi ...
- Android底层开发之旅—蓝牙系统分析
2019独角兽企业重金招聘Python工程师标准>>> Android蓝牙系统分为四个层次,内核层.BlueZ库.BlueTooth的适配库.BlueTooth的JNI部分.Java ...
- 跨浏览器开发工作小结
本篇小结是在2011年时候总结的,当时做一个产品的跨浏览器兼容工作,由于产品开发的时间比较早,最开始只能在IE下面(IE 8.IE 9还有点点问题)使用,做跨浏览器兼容工作的时候,主要是适配IE 6- ...
最新文章
- 【NLP】发现一篇专门吐槽 NLP 内卷现状的 ACL 论文 ...
- Matlab二维绘图
- 9050 端口 linux 进程,windows和linux查看端口占用情况
- MongoDB---之---可视化客户端
- 我总结的 jsonp
- Eclipse 无法打开Console,show view无效
- Vue 扫描二维码、条形码
- NPOI导出一行多张图片
- 哪款国产ESD二极管可直接替代LC3311CCW?
- #93 高精度除低精度
- error execution phase preflight: couldn‘t validate the identity of the API Server: Get
- 大连东软计算机专业全国排名,大连东软信息学院就业怎么样?全国前三,名不虚传!...
- MacDroid for Mac v1.4 安卓手机文件传输助手
- 安装apk的时候提示套件已损毁
- 程序员-开发工作流程英文术语
- Asp.Net 操作XML文件的增删改查 利用GridView
- 安装suse 15 sp4操作系统
- Libevent库的简介
- C语言计算1~100之间的所有7的倍数之和
- 百度指数java_百度指数爬取