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时,镜头长边与手机长边是平行的而不是垂直的。
  • 第三方软件问题多 - 修改高通平台代码时要注意代码的兼容性和健壮性。
遇到bug 
  • 添加新功能新接口 - 必须熟悉高通独有的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底层开发工作小结相关推荐

  1. linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...

    内容简介 本书从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核.移植和驱动开发的整个流程.全书分为21章,依次讲解驱动移植的必要性, Goldfish.OMAP内核和驱动解析,显示 ...

  2. Android 底层开发概述(二)

    1. android底层开发 涉及到的知识范围和主要工作内容如下: 1. 知识集中在Linux kernel和驱动: 2. 工作主要是移植.bug fix: 3. 挑战性工作有:性能优化.功耗优化等. ...

  3. AndroidStudio_安卓原生开发_蓝牙扫描设备_另一种方法---Android原生开发工作笔记145

    下面的一个方法是之前写的,但是那种方法有时候会有扫描不到的情况,现在再写一种,这种方法,更简单有效一些. AndroidStudio安卓原生开发_Android扫描附近指定的蓝牙设备_通过设备名称过滤 ...

  4. Android底层开发学习笔记 第一天

    今天,开始学习Android底层的开发.(注:我是新手小白,纯粹学习笔记,大神们可以直接略过了) 第一部分 编译运行我的第一个Android system. 准备工作: 下载源码:包括u-boot源码 ...

  5. 嵌入式,单片机,ARM,Android底层开发之间的关系

    很多人在问我们学这些东西能干什么,这些东西有什么关系,我该学那个? 想知道这些首先得知道这些东西都试试很么. 单片机(Microcontrollers,亦称MCU)包括了CPU.随机存储器RAM.只读 ...

  6. Android 底层开发概述(一)

    1. Android移植 Linux 驱动程序工作在内核空间,android的HAL工作在用户空间,有了这两个部分的结合,就可以让庞大的android系统运行在特定的硬件平台上. 在具有了特定的硬件平 ...

  7. AndroidStudio_下载和安装---Android原生开发工作笔记67

    以前写的那个教程到66,是用eclipse,安装插件来开发Android原生程序的,那个已经是,8年前才那么做的, 现在公司让做Android原生开发...再来学一学,这个新的AndroidStudi ...

  8. Android底层开发之旅—蓝牙系统分析

    2019独角兽企业重金招聘Python工程师标准>>> Android蓝牙系统分为四个层次,内核层.BlueZ库.BlueTooth的适配库.BlueTooth的JNI部分.Java ...

  9. 跨浏览器开发工作小结

    本篇小结是在2011年时候总结的,当时做一个产品的跨浏览器兼容工作,由于产品开发的时间比较早,最开始只能在IE下面(IE 8.IE 9还有点点问题)使用,做跨浏览器兼容工作的时候,主要是适配IE 6- ...

最新文章

  1. 【NLP】发现一篇专门吐槽 NLP 内卷现状的 ACL 论文 ...
  2. Matlab二维绘图
  3. 9050 端口 linux 进程,windows和linux查看端口占用情况
  4. MongoDB---之---可视化客户端
  5. 我总结的 jsonp
  6. Eclipse 无法打开Console,show view无效
  7. Vue 扫描二维码、条形码
  8. NPOI导出一行多张图片
  9. 哪款国产ESD二极管可直接替代LC3311CCW?
  10. #93 高精度除低精度
  11. error execution phase preflight: couldn‘t validate the identity of the API Server: Get
  12. 大连东软计算机专业全国排名,大连东软信息学院就业怎么样?全国前三,名不虚传!...
  13. MacDroid for Mac v1.4 安卓手机文件传输助手
  14. 安装apk的时候提示套件已损毁
  15. 程序员-开发工作流程英文术语
  16. Asp.Net 操作XML文件的增删改查 利用GridView
  17. 安装suse 15 sp4操作系统
  18. Libevent库的简介
  19. C语言计算1~100之间的所有7的倍数之和
  20. 百度指数java_百度指数爬取

热门文章

  1. 输入生日测试你的前世今生
  2. 打造 fedora 29 workstation 桌面环境
  3. 射频电路设计的常见问题及五大经验总结
  4. 学习FastDFS这一篇就够了
  5. python sympy求多元函数的梯度、Hessian矩阵
  6. JVM初级认知:Eden Space、Survivor Space、Tenured Gen+并发
  7. WPF字体大小随着控件大小自动变化
  8. jupyter notebook 配置
  9. xBIM 格式之间转换
  10. Mybatis 示例之 SelectKey