Android源代码的下载和编译

Android源码包括应用程序源码、SDK工具集以及NDK工具集等等,如何下载?请看:

配置Android源代码下载环境:

创建一个用于存放下载脚本文件(repo)的目录

# mkdir ~/bin

# PATH=~/bin:$PATH

下载rope脚本文件

# curl https://dl-ssl.google.com/dl/googlesource/git-repo > ~/bin/repo

# chmod a+x ~/bin/repo

创建用于存放Android源代码的目录

# mkdir android_source

# cd android_source

初始化

# repo init –u https://andriod.googlesource.com/platform/manifest

开始下载Android源代码

# repo sync 全部Android源码

# repo sync platform/bootable/recovery 只下载recovery项目部分源码

# git clone https://android.googlesource.com/<project name> 只下载<>中内容 关于工程名可在.repo文件下manifest.xml中查看。

编译Android源代码:

初始化

# source build/envsetup.sh OR # . build/envsetup.sh

选择目标

# lunch full-eng

编译Android源代码

# make

将自己制作的apk文件嵌入system.img中,从而使应用程序受到root保护

只需要将apk文件复制到system/app目录下,再从system目录重新生成sysrem.img文件即可。生成.img文件时,通过mkyaffs2image命令行工具将system目录打包,以下为打包命令和测试命令:

# mkyaffs2image system system.img

# emulator –avd myavd –system system.img –data userdata.img

安装Android内核的编译环境

下载linux内核源码:

# git clone https://android.googlesource.com/kernel/common.git

进入解压后的Linux内核源码根目录下Makefile文件,打开并找到变量ARCH和CROSS_COMPILE,设置它们的值如下:

ARCH     ?= arm

CROSS_COMPILE?= arm-none-linux-gnueabi-

下载编译器arm-linux-gcc-4.3.2.tgz和arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2到工作目录并解压:# tar zxvf arm-linux-gcc-4.3.2.tgz –C /

# tar jxvf arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2 –C /

校验安装编译器结果

# Ls /usr/local/arm -l

安装libncurses5

# apt-get install libncurses5-dev

配置和编译linux内核

配置linux内核(必须在linux源代码根目录执行):

make config:以文本形式进行配置

make menuconfig:以字符界面风格进行配置

make oldconfig:同上make config 不过给出的默认值较多,配置起来更简洁

make xconfig:以图形界面进行配置,需安装QT:

# apt-get install libqt4-dev

编译linux内核:

# export PATH=/root/compilers/arm-none-linux-gnueabi/bin:$PATH

# cd ~<内核根目录>

# make clean  //清除大多数由编译生成的.o、.ko文件但保留配置文件

# make

测试linux内核(生成的zImage文件):

# emulator –avd myavd –kernel /root/kernel/goldfish/arch/arm/boot/zIma

 

 

http://www.cnblogs.com/lv-peng/

13:05:30 2016-05-03

posted @ 2016-05-03 13:06  吕鹏  阅读(292)  评论(0编辑  收藏  举报