android4.2源代码编译环境搭建

在android官方文档中有一篇文章专门介绍如何搭建源码编译环境。链接为:http://source.android.com/source/initializing.html。在这里结合我的项目实践,梳理一下操作流程,未避免日后遗忘导致重复性的学习,遂详细记录之。

采用的是FriendlyArm出品的Tiny4412 增强版ADK1312开发板。

1、双系统安装Linux(Ubuntu12.04 amd64)

首先需要选择一款Linux操作系统,在android官网上,有这么一句话:You will need a 64-bit version of Ubuntu. Ubuntu 12.04 is recommended.所以需要安装Ubuntu12.04 64位版本的操作系统。可以去Ubuntu官网下载。下载后的文件名称为:ubuntu-12.04.4-desktop-amd64.iso。仔细的同学可能会有疑问,这个amd64是不是指系统只能安装在amd架构的CPU上呢,我刚开始也是这么以为,所以就放弃了64位版本,而去安装了32位x86版本的ubuntu,结果等我一切都设置好了以后,输入make编译源码的时候弹出一个错误,提示只能在64位版本的系统上进行编译,最后不得不重新来过。最后了解到,所谓的amd的名称,只是一个代号而已,历史上对于CPU型号的命名并不是很规范,所以amd并不是说一定要安装到amd架构的CPU上。

下面介绍如何在Win7下安装Ubuntu。主要是利用一个叫easyBCD的工具来引导安装。这方面也已经有非常好的教程提供给我们,列出一个地址:http://wenku.baidu.com/view/37d52d4fcf84b9d528ea7ad7.html。这篇文章针对的虽然是11.04的版本,但是大同小异,按照其中说明的步骤来,一样可以顺利安装。如果不想手动进行分区,可以在ubuntu安装向导中选择与Windows7并存安装,则会自动进行分区。在安装过程中不选择进行联机更新,因为如果网速不快的话安装过程将会变得非常漫长。

安装完成后,如果是第一次接触ubuntu系统,可以在网上找个教程先熟悉一下这个系统怎么用。其中有一个叫终端的软件需要特别说明一下,随后的操作基本上都是在终端中完成的。这个Linux下的终端有一点像Windows下的命令行窗口,采用命令与计算机进行交互。快捷键Ctrl+Alt+T可以打开它。

2、安装编译工具。

1)jdk的安装

官网上说明是安装openjdk1.7,事实证明这是不行的。不出意外,我们需要安装SunJDK1.6版本。如何找到这个版本也不是那么容易,有一个百度经验专门介绍如何在oracle官网上下载到这个版本的jdk,真是很佩服网友的用心。下面给出我网盘的免费下载地址:http://pan.baidu.com/s/1dDvenBV

下载得到的文件为:jdk-6u45-linux-x64.bin。在Linux中,.bin文件是可以直接执行的。所以安装只需要两行命令:

chmod 755 jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
执行完后,还需要对其配置环境变量,并且系统默认的jdk修改为我们刚刚安装的版本。

首先,打开environment文件(sudo gedit /etc/environment),添加环境变量:

PATH="......:/usr/lib/jvm/java/jdk1.6.0_12/bin"
CLASSPATH=.:/usr/lib/jvm/java/jdk1.6.0_12/lib
JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_12

具体是哪个版本读者可以查看jdk的安装目录。

然后执行如下操作:

update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.6.0_12/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.6.0_12/bin/javac 300
update-alternatives --install /usr/bin/javh javah /usr/lib/jvm/java/jdk1.6.0_12/bin/javah 300
update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java/jdk1.6.0_12/bin/javap 300

将默认jdk改成我们的版本。最后通过 java -version命令查看是不是已经安装成功。

2)一些配套的编译工具的安装。参考官方文档,可以执行如下命令:

sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

其中需要特别说明的是,执行此命令, 会提示libgl1-mesa-glx:i386有异常情况,后面会建议你安装libgl1-mesa-dri:i386 如果你真的听了这个建议,那就要吐血了:重启后会卡在登录界面之前。原因就是上一步的安装过程中删除了若干quantal结尾的package。这些包即是用来为系统提供界面服务,删除之后自然就进入不了界面了。解决方法就是在重启之前将这些包重新安装回去:

sudo apt-get install ubuntu-desktop xorg
再安装包libgl1-mesa-glx:i386即可。详细见 http://my.eoe.cn/1226440/archive/21135.html

如此,整个编译环境就搭建好了。

在android源码目录下,执行命令:

make -jX

即可编译源代码。其中X代表你的计算机CPU核数,如果是双核就是2,这样会提高执行效率。本人i5双核4G内存的机器编译一次花了大半天,所以各位耐心等待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值