MTK编译环境搭建

MTK编译环境搭建(ubuntu10.04)

一、安装64位的ubuntu10.04(注:现android4.4以上系统建议使用Ubuntu12.04以上版本)

1、获取镜像:

到网上http://releases.ubuntu.com/lucid/ 下载镜像文件ubuntu-10.04.4-desktop-amd64.iso

2、安装系统(分三种环境)

①:用镜像制作U盘启动盘,然后在电脑上进行正常操作系统安装(推荐)

②:下载一个虚拟光驱软件(如DAEMON Tools Lite),加载镜像进行在windows中安装ubuntu,但此种安装后ubuntu对硬盘的访问被进行了包装,故性能有所下降,且disk最大只能设为30GB,好处是这样安装后在ubuntu中可以访问windows里的内容,可发挥一些巧妙的应用以及做一些测试。实测性能还是不错,没有明显降低,编译2.3耗时32分钟,编译4.0耗时1小时6分钟(I5-2310 + 4G)

③:安装虚拟机VMware,然后在虚拟机中安装ubuntu,注意硬盘空间和内存的设置(实测在主机环境为mem=4G,disk分区的free=80G里,虚拟机设为mem=2.5G,disk=40G时,工作正常),编译速度较环境二慢,编译2.3耗时39分钟(I5-2310 + 4G)

二、构建Android的编译环境

1、 安装依赖的软件包(两种方式)

①、通过apt-get进行安装

更新源:

$sudo apt-get update

安装软件包:

$sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 gcc g++ g++-multilib g++-4.4-multilib lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z1-dev libgl1-mesa-dev wine mingw32 tofrodos python-markdown libxml2-utils xsltproc

注:安装过程若出现package configure页,可按tab或左右键来选择菜单,请选择OK、YES

②、若网络环境不好,为加快安装速度,可到别人已安装好的环境下拿到那些包直接安装

取包路径为/var/cache/apt/archives/

将其拷贝到本地(如放置在同样的/ var/cache/apt/archives/目录下)

然后执行安装:

$sudo dpkg -i /var/cache/apt/archives/*deb

由于dpkg安装并不处理依赖关系,故此处需通过以下命令检查是否有损坏的依赖:

$sudo apt-get check

若发现有损未安装的依赖,需执行相应的修复动作:

$sudo apt-get –f install packagename

或用$sudo apt-get -f 直接自动进行所有依赖的修复

2、安装交叉编译工具链arm-eabi-4.4.3

源码中已自带arm-eabi-4.4.3工具,位于prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/,需要注意的是请使用2.3平台下带的工具链(经验证使用4.0带的工具链会导致2.3的编译无法通过),亦可通过网络下载安装

①、将其拷贝纸/opt/目录下:(假设处于源码根目录下)

$sudo cp -R prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/ /opt/

注意/opt/arm-eabi-4.4.3/的权限,至少应为drwxr-xr-x,即755,若权限不够,需进行修改:

$sudo chmod -R 755 /opt/arm-eabi-4.4.3/

②、设置环境变量PATH供编译之用

$vim ~/.bashrc

在文件末尾加入:

export PATH=$PATH:/opt/arm-eabi-4.4.3/bin

让环境变量生效:

$source ~/.bashrc

3、安装jdk1.6,需为sun-jdk

前面安装的系统默认并明有安装任何jdk,若系统已安装有默认的openjdk,则先在此卸载掉(若不卸载掉,可参考扩展部分的说明进行系统默认jdk的更改):

$sudo apt-get remove openjdk-6-jdk

注:包名openjdk-6-jdk可能以后发生了变化,此时可通过$sudo apt-cache search java来查找到java相关的包,在其中找到openjdk的包名即可

①、Ubuntu10.04里默认为安装openjdk-6-jdk,即默认源里找不到sun-java6-jdk,需增加源:

$sudo vim /etc/apt/sources.list

在文件末尾增加:

deb http://archive.canonical.com/ lucid partner

deb http://archive.ubuntu.com/ubuntu hardy main multiverse

deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse

然后更新源:

$sudo apt-get update

$sudo apt-get install sun-java6-jdk

安装完成后可查看下是否成功:

$java -version

②、设置相关环境变量:

$sudo vim /etc/profile

在文件末尾写入:

JAVA_HOME=/usr/lib/jvm/java-6-sun

JRE_HOME=$JAVA_HOME/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

使环境变量生效:

$source /etc/profile

到此,环境安装OK!

扩展:

•执行$which java可看到:Java命令位于/usr/bin/java

•执行$ll /usr/bin/java可看到:其软链接至/etc/alternatives/java

•执行$ll /etc/alternatives/java可看到:其链接至/usr/lib/jvm/java-6-sun

•执行$ll /usr/lib/jvm/java-6-sun可看到:其软链接至同级目录下的java-6-sun-1.6.0.24/

•故系统目前所用到java工具位于/usr/lib/jvm/java-6-sun-1.6.0.24里,弄清此链接关系后便可修改链接至自己下载安装的其他jdk了

注:与java相关的命令工具有很多,总计大概四十多个,在apt-get install时可查看到update-alternatives项,亦可直接查看命令链接的大概情况:

$ll /etc/alternatives/ | grep “\<j”   # 大多数命令以j开头

当系统安装有多个jdk时,若要完整更改系统默认jdk可有两种方式:

①、执行以下命令来更改默认java命令的链接

$sudo update-alternatives --all

此命令将依次调出所有的默认设置项,需按提示谨慎修改与java相关的项

②、可直接用以下命令配置默认的java环境:

设置运行时工具相关:

$sudo update-java-alternatives --jre --set java-6-sun

设置运行时和开发工具相关:

$sudo update-java-alternatives --set java-6-sun

4、更改默认shell程序

$sudo rm /bin/sh

$sudo ln -s /bin/bash /bin/sh

5、编译Android代码

①、为提高后续编译的速度,可打开ccache:

$vim ~/.bashrc

加入以下内容:

export USE_CCACHE=1

若home目录在NFS或其他非本地文件系统上,还需再加入以下内容:

export CCACHE_DIR=<path-to-your-cache-directory>

执行以下命令设置cache,推荐的cache大小为50-100GB:

$prebuilt/linux-x86/ccache/ccache –M 50G

②、进入到代码目录执行编译

$./mk project_name new

可用time命令测试下编译耗时:

$Time ./mk project_name new


你可能感兴趣的:(android环境,Android代码环境搭建,MTK编译环境)