从这一篇开始,稍微有点技术含量,此篇是后续适配的基础,请读者务必掌握。
一般适配是以一项一项功能来进行的,笔者一般遵循显示&NFC->音频->通信->wifi->蓝牙->传感器->摄像头->GPS->其它,这样的顺序进行适配调试。
当然高手一下子全搞定也是可以的,不过既然要写成教程,就必须一部分一部分来讲。
如果读者在适配到某一部分碰到问题时,可以暂时跳过解决不了的问题,先继续下一部分的适配。
为何从显示部分开始呢,因为显示部分不能用的话,无法进到手机系统界面,看不到界面当然不开森。如果这部分搞不定,那后续也就不用适配了。
然后是音频,音频是重点,也是整个rom的难点,这部分需要有些编程基础才容易理解。
音频对于msm-aosp来讲是难点,但对于cm来讲则不是,因为cm开发团队都已经帮大家改好代码了。
接着是通信,因为通话需要调用音频,所以音频得放在通信之前搞定。
最后要讲的是,适配与插桩不一样的地方,插桩主要是看log修bug。
而编译出来的rom在代码上则没什么可修,只有缺lib或需要改配置重新编译而已。
一、ROM功能自测
正规地讲,软件的开发与测试分开的,但在前期开发时,rommer只能自己做测试
所以做业余rommer一点都不酷,相反是很苦逼的。
于是,读者在适配过程中得自己做好rom基础功能的自测,笔者稍微改动了乐蛙开发组提供的表格,给读者做个示范:http://download.csdn.net/detail/benjaminwan/8452181
硬件功能的测试,必须在手机里安装相应的apk来做,这里推荐2个:z硬件测试、安兔兔评测
二、vendor-maker
有许多服务程序、配置、lib需要从官方rom里提取,所以首先需要一个vendor-maker脚本
当然读者也可以选择把这些东西都集成到device里,但实在是没有必要
1.下载地址
http://download.csdn.net/detail/benjaminwan/8452201
包含2个sh脚本,以及一个txt文件
这里仍然以泛泰a870为例
把文档解压缩,得到3个文件,这3个文件都放到device/pantech/a870里
然后赋予2个sh执行权限
chmod a+x *.sh
2.配置要点
先把官方rom的system文件夹解压放到linux里,这里以泛泰A870为例
笔者的路径是这样/opt/IM-A870L_S1235210/system
system下只要留下bin、etc、lib、usr、vendor这几个文件夹就行了
首先是extract-files.sh
VENDOR=pantech
DEVICE=a870
读者有必要自己修改这2行机型信息
然后是这句复制语句,改为读者自己的放置路径
cp /opt/IM-A870L_S1235210/system/