确定了我们sep0611的基线版本之后,接下来就是在北大小本上移植android 2.3.1
移植过程可以划分为几个阶段:
·编译系统:涉及目录 build/core ,device,prebuilt
·c库:bionic
·dalvik:去掉jit,默认使用解释器
·其他:external、system、framework
第一步 编译系统
步骤:
1. Device
新建一个公司相关目录:mkdir seuic
新建一个产品目录:mkdir sep0611 @device/seuic/
产品相关的编译配置文件:
Android.mk:总编译文件
BoardConfig.mk:板级产品编译配置文件
device.mk:
setup-makefiles.sh
AndroidProducts.mk:包含full_sep0611.mk
CleanSpec.mk
full_sep0611.mk: 设备级产品配置文件
vendorsetup.sh: lunch 配置脚本
2. build/core
编译系统:
1) 在build/core/combo/arch:mkdir unicore32
新建一个sep0611.mk声明处理器架构相关配置
例如:
2) 新建一个TARGET_linux-unicore32.mk@build/core/combo
这个文件主要申明了编译器目录,编译选项,头文件等
3) 修改dynamic_binary.mk@build/core
不使用prelink和strip(暂时没做好)
4) 修改android2.3.1/build/core//executable.mk文件
声明编译静态可执行文件所需要的启动相关的lib库目录
主要由以下几个启动相关调用库:
crtbegin_com.o crtbegin_executable.o crtend_com.o crtend_executable.o
我们主要实现了两个:crtend_com.o crtend_executable.o
5) 修改build/core//shared_library.mk:与启动库相关
53