1. 概述
移植工作一般的主要不外乎做以下这些事情:
A、有的现成好的直接选配
这个工作主要是熟悉该源码的编译系统,就是源码自动化编译是怎么组织的。linux环境下不外乎是Makefile及脚本。所以得熟悉这两个方面的知识。
B、有的不好的代码修改好后选配
这个工作不仅仅是要熟悉编译系统,还要熟悉别人的代码结构。一般牛X的软件架构也牛X,所以主要是学习牛X的人设计的代码结构,所谓的框架。框架懂了,再熟悉里面的细节,就可以改了。
C、添加新代码并选配
这个工作同样要熟悉编译系统及源码结构。这个时候对框架可能不能仅仅限于知道,而且要深刻理解,按照牛人的思路来设计代码。
所以android的移植就可以简单的说成有以下方面的工作:
A、熟悉android的编译系统
主要是.mk文件的规则,这个官网及源码中有文档说明(development/Ndk/Docs/android-mk.txt),得好好研究清楚。就源码中的脚本,譬如:build/envsetup.sh
B、熟悉android的源码目录结构
system:根文件系统相关的一些代码
packages:android的一些APP的源码
frameworks:framework层代码,不改动android源码的话,主要就是app层调用hal层代码的接口实现的源码
hardware:hal层代码
devices和vendor:厂商定制代码
build:编译系统的一些mk文件
out:是编译输出目录
主要的一些目录就是上面了,对于初学的话,差
移植工作一般的主要不外乎做以下这些事情:
A、有的现成好的直接选配
这个工作主要是熟悉该源码的编译系统,就是源码自动化编译是怎么组织的。linux环境下不外乎是Makefile及脚本。所以得熟悉这两个方面的知识。
B、有的不好的代码修改好后选配
这个工作不仅仅是要熟悉编译系统,还要熟悉别人的代码结构。一般牛X的软件架构也牛X,所以主要是学习牛X的人设计的代码结构,所谓的框架。框架懂了,再熟悉里面的细节,就可以改了。
C、添加新代码并选配
这个工作同样要熟悉编译系统及源码结构。这个时候对框架可能不能仅仅限于知道,而且要深刻理解,按照牛人的思路来设计代码。
所以android的移植就可以简单的说成有以下方面的工作:
A、熟悉android的编译系统
主要是.mk文件的规则,这个官网及源码中有文档说明(development/Ndk/Docs/android-mk.txt),得好好研究清楚。就源码中的脚本,譬如:build/envsetup.sh
B、熟悉android的源码目录结构
system:根文件系统相关的一些代码
packages:android的一些APP的源码
frameworks:framework层代码,不改动android源码的话,主要就是app层调用hal层代码的接口实现的源码
hardware:hal层代码
devices和vendor:厂商定制代码
build:编译系统的一些mk文件
out:是编译输出目录
主要的一些目录就是上面了,对于初学的话,差