dragonboard 410c试用之——Android源码下载及编译
xylon 2016-02-22 07:34:29 1.安装openjdk-7-jdk
Android 5.1 用到的jdk不再是Oracle 的 jdk ,而是开源的 openjdk,在ubuntu安装好后,使用如下命令安装jdk:
$sudo apt-get install openjdk-7-jdk
安装好后,设置环境变量:
在/etc/profile 文件末尾加上:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
2.安装编译依赖的软件
我的ubuntu12.04搭建过4412的开发环境,可能有一些库已经安装。
安装git和curl:
sudo apt-get install git curl
安装repo:
curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/android-bin/repo
使用sudo chmod +x ~/android-bin/repo增加repo的执行权限。
然后使用PATH=$PATH:~/android-bin/命令增加环境变量。到此repo可以正常使用。
使用如下命令安装其他依赖软件:
sudo apt-get install gnupg flex bison gperf build-essential zip libc6-dev libncurses5-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
3.配置Cache
使用如下命令配置cache:
sudo apt-get install ccache
source ~/.bashrc
4.准备好一个容量足够大的分区。我的ubuntu之前分配了85G的分区,下载源码使用了64G,编译过程会生成很多临时文件,所以空间不够用。因此重新格式化了一个300G的分区,应该够用了。在分区中建立存放源代码的目录:/lpartition/android_8916/
进入源码目录 cd /lpartition/android_8916/
然后执行
repo init -u git://codeaurora.org/platform/manifest -b release -m LA.BR.1.1.3-06510-8x16.0.xml
repo sync
我使用50M的带宽下载了7个小时,终于下载完成了64G的源码。
参考论坛文章http://bbs.csdn.net/topics/391887922可找到最新源码。
5.源码编译
ps:编译过程比较就,我电脑双核的,使用单线程编译的,时间位12小时左右,如果使用多线程,时间应该会成倍减少
1)设置cache
cd 源码目录
prebuilts/misc/linux-x86/ccache/ccache -M 50G
2)初始化编译环境
. build/envsetup.sh
3)选择编译目标包
ps:lunch的方式有很多中,可以使用lunch命令查看,我使用最常用的
lunch aosp_arm64-eng
lunch
4)编译
make –j4
ps: 1.make后面可以更参数:如你的机器时双核,每核双线程的话,使用make -j4,这样速度更快,但编译时使用的内存也更多
make失败或停止后,可以使用make -k 继续编译
由于我的电脑配置不高,使用make编译时用了16个小时。
可以在 out/target/product/generic/目录下找到编译完成的ramdisk.img system.img userdata.img cache.img
该编译过程可以学习Android源码的下载和编译流程,编译生成的文件在dragonboard 410c上并不能正常运行。
参考文章:
http://bbs.csdn.net/topics/391887922
http://www.cnblogs.com/bluestorm/p/4419135.html