编译MTK android源代码的过程

原文:

【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结束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值