LOGO
Android源码编译
及ROM制作
Presentation
邵光栋
CyanogenMod源码编译
Contents
Android Code Tree
Android源码编译
个性化修改
1
2
3
4
ROM制作
5
Google Android源代码位置:http://source./source/
Android Code Tree
系统架构
Android系统是按层次、分模块来设计的。
整个系统:内核空间和用户空间
内核空间包含了进程管理、内存管理以及设备驱动程序模块等,其中Android专用驱动Binder、Logger和Ashmem就是在内核空间实现的
用户空间包含了硬件抽象层(HAL)、外部库和运行时库层(External Libraries & Android Runtime)、应用程序框架层(Application Framework)和应用程序层(Applications)四个层次。
|-- Makefile
|-- bionic (bionic C库)
|-- bootable (启动引导相关代码)
|-- build (存放系统编译规则及generic等基础开发包配置)
|-- cts (Android兼容性测试套件标准)
|-- dalvik (dalvik JAVA虚拟机)
|-- development (应用程序开发相关)
|-- external (android使用的一些开源的模组)
|-- frameworks (核心框架——java及C++语言)
|-- hardware (主要保护硬解适配层HAL代码)
|-- out (编译完成后的代码输出与此目录)
|-- packages (应用程序包)
|-- prebuilt (x86和arm架构下预编译的一些资源)
|-- sdk (sdk及模拟器)
|-- system (文件系统库、应用及组件——C语言)
|-- vendor (厂商定制代码)
代码树
Android源码编译
初始化编译环境
下载代码树
编译
编译内核
初始化编译环境
设置Linux编译环境
安装必需包
配置USB访问
设置高速缓存
初始化编译环境
系统:Linux或者Mac OS,不支持Windows
大小:(实际2-3GB)
预留空间:一次编译至少30GB
一整套编译 100GB
选择编译分支
建议:不要使用虚拟机安装ubuntu编译
1、编译花费时间长,需要内存大
2、如果配置低,可能会卡住不动
3、虚拟机连接手机有问题,很可能不识别,编译前需要从手机拉
配置数据;不能使用fastboot模式刷机
设置Linux编译环境
内部测试版本:
Gingerbread () or newer:64 bit系统
工具:Python -
GNU make -
JDK 6(生成 Gingerbread 或更高版本)
JDK 5(Froyo 或旧版本)
Git 或更高版本
gcc/g++ (其他版本编译出错)
设置Linux编译环境
安装JDK:
Java6:
$ sudo add-apt-repository "deb http://archive./ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
Java5:
$ sudo add-apt-repository "deb http://archive./ubuntu hardy main multiverse“
$ sudo add-apt-repository "deb http://archive./ubuntu hardy-updates main multiverse“
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
android源码编译及rom制作 来自淘豆网www.taodocs.com转载请标明出处.