Ubuntu上搭建android BSP开发环境 && 设置定时编译 && ubuntu从10.04升级到12.04后编译出错 && ./adb出错

来源:互联网 发布:威风堂堂动作数据镜头 编辑:程序博客网 时间:2024/06/06 12:45

(1)下载基于linux平台的JDK。不管是编译android系统还是在eclipse中建立.apk应用软件的开发,都需要这个。在终端中执行:apt-get install sun-java5-jdk,安装完后执行javac -version可验证安装成功与否。如果执行不了,直接执行Linux下JDK的BIN,然后配置环境变量的路径就行。

(2)下载基于linux平台的eclipse,解压。使用跟XP上的eclipse相同。

(3)在android官网下载基于linux的android SDK,解压。

(4)在eclipse中点击软件更新,升级android的ADT插件,方便android应用软件开发。并导入android SDK路径,设置AVD。

(5)利用apt-get install安装一些编译常用工具包: flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip make libncurses5-dev zlib1g-dev libsdl1.2-dev libsdl1.2debian。可以用gcc --version,检验gcc是否安装成功及版本。

(6)安装交叉编译器,一般拷贝到某个目录下就可以了,比如是/usr目录,然后在.bashrc添加环境变量即可。例如:vi ~/.bashrc,然后加上export PATH=$PATH:/usr/arm-eabi-4.4.0/bin。

 

     具体使用时,碰到的问题如下:

(1)在内核代码中运行menu config时,出现少ncurses库错误。ncurses是字符终端下屏幕控制的基本库。可能很多新开发的程序都不使用了,不过如果要编译一些老程序,还经常遇得到。执行命令 apt-get install libncurses5-dev

(2)一些常用工具的安装,比如apt-get install subversion。其它一些工具诸如perl,python一般会默认系统自带,可以通过which命令来确认是否安装,会得到安装路径。

===================================================设置定时编译====================================

          有些时候我们在服务器资源紧张无法编译的情况下,可以设置在服务器上的定时任务让其在转钟之后执行编译任务。设置定时任务的命令是:at 02:50,进入命令行:

warning: commands will be executed using /bin/sh
at> cd ~/
at> mkdir tst899
at> <EOT>

         分别执行进入特定项目根目录,执行编译命令,回车后按CTRL+D退出命令行即可。之后,用atq命令可以查看有多少定时任务已经被提交。如果想删除计划任务,用atrm xxx就可以了,xxx是atq查询的编号。

====================ubuntu从10.04升级到12.04后编译出错=============================================

        以前ubuntu的系统是10.04的,在上面编译MTK的android codebase一直正常。后来出于某种原因用OS自带的新力得管理器升级系统到12.04后,MTK的代码编译就出错了。具体出错原因:编译时提示gcc错误,用check-env核查确实发现gcc识别失败。

       后来跟同事询问得知,应该是升级ubuntu后gcc版本过高所致。即用gcc4.4可以编译,而12.04带的是gcc4.6。所以只需恢复成gcc4.4即可。步骤是:

(1)首先在终端使用gcc -v,可以获得gcc库所在的目录,我执行后发现现在系统确实都使用的是gcc4.6。

(2)所以需要安装gcc4.4,一般使用:apt-get install gcc-4.4和apt-get install g++-4.4即可。如果在/usr/bin目录下用ls -l gcc*得到如下结果:

说明gcc4.4已经安装了。所需要做的就是把gcc链接修改成指向gcc-4.4,而不是gcc-4.6,方法是:

mv gcc gcc.bak

ln -s gcc-4.4 gcc,得到

前一条备份,后一条修改链接。对应的,g++版本也要改成指向g++-4.4,而非g++-4.6。修改结果如下:

(3)修改上述要求后,再用gcc -v查看

可知其已修改成4.4了。之后再编译或者check-env都可以成功了,省去重装系统的麻烦。在这里碰到过一个现象:gcc版本是4.4,但是check-env中就是提示gcc unknown,后来把系统语言从中文改回英文就好了。

        除了以上编译出错之外,还出现过编译preloader提示“BUILD FAIL. need wine tool to sign pre-loader binary”,只需要apt-get install wine即可,需要注意的是一定要确保安装完毕。另外,在12.04上编译安卓有时会出现,提示:/bin/bash: xmllint: 未找到命令。需执行apt-get  install libxml2-utils  

=================================./adb出错==================================================

在ubuntu中跑adb 工具时,如果碰到提示无效adb设备,需要做如下修改才可以。




参考原文:http://hi.baidu.com/hyemiletoe/item/0403f331f12017179cc65ed9

参考原文:http://blog.csdn.net/nseven/article/details/8288603

参考原文:http://blog.csdn.net/droyon/article/details/8655517

原创粉丝点击