iTOP-4412开发板android4.0代码下载和编译

Android4.0 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版
本。GitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中。
基于迅为4412开发板
6.3.1.1 repo 下载
android 代码管理不同于 uboot,kernel,由于 Android 代码比较庞大,我们把 Android
项目按照文件夹进行项目拆分,android 源码根目录下面的每个子目录都会划分为一个仓库或
者多个仓库进行版本管理,Android 的代码下载需要使用 repo 工具,repo 工具为 Git 的封
装,底层是使用 Git 命令进行下载的。
假设将要下载的 repo 工具存放于 /media/data/gitHub 目录:
#cd /media/data/GitHub/
#git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
git-repo 仓库下载完成后会看到该文件夹内有 repo 脚本文件:
 
6.3.1.2 Android4.0 代码下载
假设我们的 Android4.0 代码存放在 /media/data/GitHub/iTop4412_ICS_git 目录:
# cd /media/data/GitHub/iTop4412_ICS_git
#../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b
exynos4412_android4.0.3_master
注意上一条命令中,换行字符“-b”之后有空格。
 
注: repo init 命令中–u 参数指定 android 仓库下载地址,-b 参数指定仓库中的下载
分支.
这里我下载的是 exynos4412_android4.0.3_master 分支,该命令执行过程中需要输入
相关的信息,如下图所示:
 
Your Name 输入 root
Your Email: 直接回车即可,然后在输入 y, 回车继续:
 
#../git-repo/repo sync
注: repo sync 开始下载 Android 代码,下载过程与网络环境有一定的关系,如果下
载过程中长时间没有进度显示,可以 ctrl+c 终止下载,然后执行 repo sync 命令重新开始,
下图为源码下载过程中的进度显示:
 
代码下载完成后会在 /media/data/GitHub/ iTop4412_ICS_git 目录下面显示 Android
系统源码目录:
 
每个文件夹目录下面都会有一个或者多个 Git 仓库,默认这些仓库是没有分支的,我们需要
使用 repo star 命令创建分支,这里我们创建 master 分支,您也可以使用别的名字来定义分支
名称,repo branch 命令可以查看创建的分支:
#../git-repo/repo start master --all
#../git-repo/repo branch
 
6.3.1.3 Android4.0 源码编译
Android 代码下载完成后就可以进行编译了,Android 源码编译需要 kernel 支持,所
以我们需要把 Android 代码与 kernel 代码放到同一目录下面:
 
注: 上图中 iTOP4412_Kernel_3.0 为 Android 的内核代码, 与 Android4.0 源码目录
iTOP4412_ICS_git 在同一级,另外编译 Android4.0 之前需要编译内核代码,在内核代码目
录执行:
# cp config_for_android_XX_YY .config
# make zImage
# make modules
config_for_android_XX_YY 中的 XX 指核心板类型:scp,pop,pop2G, YY 指的是底板
类型:精英版 elite,或者全能版 supper.
make modules 会编译驱动库文件*.ko , Android4.0 会拷贝驱动库文件到 Android 的
目录结构,否则 Android 的某些功能无法使用。
Android4.0 的执行编译命令:
#cd iTop4412_ICS_git
# ./build_android.sh
另外 Android 代码下载,编译完成后,可以定期使用 repo sync 命令同步我们的 Git 仓
库到本地,这样您的本地代码就跟我们的仓库保持同步更新了,编译后就会形成最新的系统镜
像.
我们的 Android4.0 代码区分精英版和全能版,默认我们下载的代码编译形成的镜像可以
在精英板运行,要编译全能板版本,只需要修改一项配置即可:
文件路径:iTop4412_ICS_git/device/samsung/smdk4x12/BoardConfig.mk
配置项:BOARD_HAVE_MPU6050 ,该值配置成 false 代表编译版本是精英板版本,如果
设置成 true,则会编译全能板版本。
精英版配置:
 
全能版配置:
  完成,更多内容关注:迅为电子