原文:
【Android】MTK Android源码开发环境搭建
链接:http://www.cnblogs.com/rayray/archive/2013/02/22/2921828.html
另一个相同内容的链接:http://www.52rd.com/Blog/Detail_RD.Blog_howean_35135.html
硬件环境:
VMware 虚拟机环境:VMware 虚拟机版本 VMware-workstation-9.0.0-812388
内存:2.1G
处理器:双核双线程
硬盘:60G
系统环境:Ubuntu 64位系统
镜像文件 ubuntu-10.04.4-desktop-amd64.iso
下载地址:http://releases.ubuntu.com/10.04.4/ubuntu-10.04.4-desktop-amd64.iso
解锁root账户:
在终端中输入:
sudo passwd root
Enter new UNIX password: (在这输入你的密码)
Retype new UNIX password: (确定你输入的密码)
passwd: password updated successfully
$sudo gedit /etc/gdm/custom.conf来创建这个配置文件,并且在文件中输入
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=true
TimedLogin=root
TimedLoginDelay=10
保存关闭,重启系统时选择其他账户登录,输入root和密码就可以登录了。
环境设置
1.更新软件
首先在终端执行
$sudo apt-get update
再在终端执行如下指令
$sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils lib32readline5-dev gcc-4.5 g++-4.5 gcc-4.5-multilib g++-4.5-multilib
建议分开使用,有些指令没有效果,把能使用的完成即可。
安装Wine
$sudo apt-get install wine
wine的安装过程中有两次需要用户确认的地方(按tab键选择确认即可)
2.安装JDK 下载 jdk-6u31-linux-i586.bin 文件
解压到root即可。
修改mbldenv.sh文件中
# Overwrite PATH environment setting for JDK & arm-eabi if already exists
PATH=/root/java/jdk1.6.0_31/bin::$PWD/prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin:$PATH
export PATH
检查安装环境:
在终端执行指令,切换到MTK Android根目录,执行 ./mk check-env
提示
**********checking Env************
Your building environment is OK
The detail information is in "checkenv.log"!
*************************************************
在终端执行 ./mk 工程名 new
以上内容进行适当调整,参考地址 http://www.52rd.com/Blog/Detail_RD.Blog_howean_35135.html
20131217读后感:
上文中一个命令
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils lib32readline5-dev gcc-4.5 g++-4.5 gcc-4.5-multilib g++-4.5-multilib
安装了好些个软件。这些软件都是编译mtk源代码必须的。上述软件中如果缺少其中一个,比如mingw32,或者是gcc的版本不对,都编译不成功,典型的报错日志如下:
**********checking Env************
Please check your building environment First!
Build Environment Requirement
=============================================================
* ********* Suggested OS and Tool Chain to install *********
*
* OS : Linux distribution Ubuntu 10.04
* Memory Size : 4G or above
* make : GNU Make 3.81 or 3.82
* perl : Version 5.10.X
* python : Version 2.6.X
* arm-linux-androideabi-gcc : Version 4.6.X
* gcc : Version 4.4.3
* jdk : Version 1.6.X
* bison : Version 2.4.X
* flex : Version 2.5.X
* gperf : Version 3.0.X
* mingw : Installed
* unix2dos/tofrodos : Installed
* **********************************************************
=============================================================
Build Environment Check Result Report
*************************************************************
[OS]: Ubuntu 12.04.2 (64-bit) [WARNING]
your ubuntu os version is higher than recommendation
[Physical Memory Size] : 2522836 K-Bytes [WARNING]
it's smaller than recommendation, may cause out-of-memory build error
[make]: 3.81 (64-bit) [OK]
[perl]: 5.14.2 (64-bit) [WARNING]
your perl version is higher than recommendation
[python]: 2.7.3 (64-bit) [WARNING]
your python version is higher than recommendation
[arm-linux-androideabi-gcc]: 4.6. (64-bit) [OK]
[gcc]: unknown (64-bit) [FAIL]
[jdk]: 1.6.0_30 (64-bit) [OK]
[bison]: 2.5 (64-bit) [WARNING]
your bison version is higher than recommendation
[flex]: 2.5.35 (64-bit) [OK]
[gperf]: 3.0.3 (64-bit) [OK]
[mingw]: [FAIL]
you have not installed mingw32(i586-mingw32msvc-gcc is NOT in your path)
[unix2dos/tofrodos]: Installed [OK]
*************************************************************
The detail information is in "checkenv.log"!
***********************************************
而如果在ubuntu 64位系统中没有安装32位lib库ia32-libs,编译也会报找不到路径的错误。典型的报错日志如下:
2013/12/16 20:23:59 codegening ...
LOG: out/target/product/kenxinda82_wet_820_codegen.log
/bin/bash: mediatek/cgen/Cgen: 没有那个文件或目录
/bin/bash: mediatek/cgen/Cgen: 没有那个文件或目录
这时需要用命令sudo apt-get install ia32-libs安装。如果安装ia32-libs时报错,可以尝试用下面这个命令安装:
sudo apt-get install ia32-libs ia32-libs-multiarch libglapi-mesa:i386 libglu1-mesa:i386 libqt4-opengl:i386 libgl1-mesa-glx:i386 libgl1-mesa-dri:i386
如果缺少libxml2-utils库,那么在整个编译快完成,生成system.img的时候报一个错,很伤脑筋。解决的方法很简单,输入sudo apt-get install libxml2-utils,然后重新编译,等1,2个钟再看编译结果吧。
20131217结束