源代码的下载和编译
Android源代码(近4GB大小)和Liunx源代码(几百MB)而这两个源代码对学习开发有着非常重要的作用
1、Android源代码:a、配置下载环境,创建存放目录#mkdir ~/bin,#PATH=~/bin:$PATH,下载脚本文件(用于下载Android源代码)#curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > -/bin/repo,#chmod a+x ~/bin/repo,创建Android源代码存放目录#mkdir android_source,#cd android_source,初始化#repo init -u sync;当然也可以下载自己所需的部分代码#repo sync platform/bootable/recovery,#repo sync platform/packages/apps/Camora(当然也可以使用git clone命令);b、目录解析除makefile文件外都是目录,分别保存了源代码不同子项目;c、编译,初始化编译环境#source build/envsetup.sh或#. Build/envsetup.sh,选择目标#lunch full-eng,编译#make ,#make -j4;d、发布自己的APK,将apk文件复制到system/app目录下,再生成system.img文件,将showdatetime复制到apps目录中,并在终端进入,执行mm命令进行编译,成功后会生成.apk和.odex文件;e、测试,在终端进入源代码目录/out/target/product/generic目录,重新生成system.img文件#mkyaffs2image system system.img,测试#emulator -avd myavd -system system.img -data userdata.img。
2、Linux源代码:下载#git clone branch -a, #git checkout -b android-3.0 remotes/origin/android-3.0,#git clone /goldfish.git,#git checkout -b android-goldfish-2.6.29 remotes/origin/android-goldfish-2.6.29;安装Android内核编译环境,a、复制arm-linux-gcc-4.3.2.tgz和arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2到工作目录,b、解压#tar zxvf arm-linux-gcc-4.3.2.tgz -C /,#tar jxvfarm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2 -C /,c、验证是否安装好,#ls /user/local/arm -l,apt-get install libncurses5-dev;d、编译#export PATH=/root/comilers/arm-none-linux-gnueabi/bin:$PATH,#cd ~/linux——kernel,#make clean,#make;f、配置(根目录下执行),make config,make menuconfig,make oldconfig,make xcongig。
3、小结:Android移植主要是Linux内核的移植,而Linux内核移植主要是Linux驱动的移植,所以开发环境需要搭建两套,而通过对本章的学习就是要学会如何搭建两种开发环境。