当前位置: 代码迷 >> Android >> (64位)ubuntu 11.10编译android 2.3预备的工作
  详细解决方案

(64位)ubuntu 11.10编译android 2.3预备的工作

热度:95   发布时间:2016-05-01 12:45:39.0
(64位)ubuntu 11.10编译android 2.3准备的工作

/********************************************************************************************
?* author:[email protected]?[email protected]?????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ??
?* E-mail:[email protected] ??? ??? ??? ??? ??? ??? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?
?*?http://blog.csdn.net/conowen?? ??? ??? ??? ??? ??? ??? ??? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?* 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。 ? ???

?********************************************************************************************/


首先看看我的机器参数:


1、首先安装JDK 1.6,配置环境变量。

配置环境变量有几种方法

NO1、打开用户目录下的bashrc文件,在后面添加

?

export JAVA_HOME=/home/conowen/dev/jdk1.6.0_29

export $PATH:$JAVA_HOME/bin

然后更新bashrc即可。

更新命令:

source bashrc


NO1、sudo gedit /etc/environment

加入PATH="/home/conowen/dev/jdk1.6.0_29/bin"之类的,

NO2、sudo gedit /etc/profile

在末尾加入如下文字即可

export JAVA_HOME=/home/conowen/dev/jdk1.6.0_29

export $PATH:$JAVA_HOME/bin



注意:

???????? 如果采用第二种方法,有些机器安装了open JDK的话,而系统的environment中本来就设定了/user/bin环境变量,又由于ubuntu 11.10启动时,先检索environment的设定,在检索profile的,所以? ,要卸载掉open jdk,相应的卸载命令为 sudo apt-get purge XXX。或者也可以直接采用第一种方法设定环境变量,而且要在/user/bi

?????? 设定好之后,reboot一下机器,通过 javac -version查看一下是否安装好了。


[java]?view plaincopy
  1. conowen@conowen-GA-880GA-UD3H:~$?java?-version??
  2. java?version?"1.6.0_29"??
  3. Java(TM)?SE?Runtime?Environment?(build?1.6.0_29-b11)??
  4. Java?HotSpot(TM)?64-Bit?Server?VM?(build?20.4-b02,?mixed?mode)??




2、首先是安装一系列的依赖库。

?

[java]?view plaincopy
  1. sudo?apt-get?-y?install?libc6-dev-i386??
  2. sudo?apt-get?-y?install?lib32ncurses5-dev??
  3. sudo?apt-get?-y?install?g++-4.4-multilib??
  4. sudo?apt-get?-y?install?g++??
  5. sudo?apt-get?-y?install?lib32z1-dev??
  6. sudo?apt-get?-y?install?git-core??
  7. sudo?apt-get?-y?install?gnupg??
  8. sudo?apt-get?-y?install?flex??
  9. sudo?apt-get?-y?install?bison??
  10. sudo?apt-get?-y?install?gperf??
  11. sudo?apt-get?-y?install?libsdl-dev??
  12. sudo?apt-get?-y?install?libesd0-dev??
  13. sudo?apt-get?-y?install?libwxgtk2.6-dev??
  14. sudo?apt-get?-y?install?build-ess??
  15. sudo?apt-get?-y?install?ential??
  16. sudo?apt-get?-y?install?zip??
  17. sudo?apt-get?-y?install?curl??
  18. sudo?apt-get?-y?install?libncurses5-dev??
  19. sudo?apt-get?-y?install?zlib1g-dev??
  20. sudo?apt-get?-y?install?valgrind??


?

?

?

?

?

上述命令可以建立一个批处理文件

步骤:

新建一个文档,然后copy进去,在终端里面加可运行权限给新建的文档。

?

[plain]?view plaincopy
  1. sudo?chmod?+x?文档??
然后运行可以

?

3、更改gcc与g++的版本


因为ubuntu 11.10的gcc版本是4.6,太高了,一些语法规则与以前的不兼容,会出现一些错误,如/usr/bin/ld: cannot find -lstdc++。

通过 gcc -v可以查看gcc的版本

更改gcc与g++版本步骤如下:

[java]?view plaincopy
  1. sudo?apt-get?install?gcc-4.4??
  2. ??
  3. sudo?apt-get?install?g++-4.4??




装完后转到/usr/bin目录? ? ? ???
[java]?view plaincopy
  1. ?ls?-l?gcc*??
  2. ??
  3. ??
  4. lrwxrwxrwx?1?root?root??????7?2011-10-29?09:11?gcc?->?gcc-4.6??
  5. ??
  6. -rwxr-xr-x?1?root?root?224544?2011-10-06?05:47?gcc-4.4??
  7. ??
  8. -rwxr-xr-x?1?root?root?302104?2011-09-17?05:43?gcc-4.6??



可以看到gcc 链接到gcc-4.6,? 所以需要将它改为链接到gcc-4.4 :

???? 先备份一下gcc,然后重新链接
[java]?view plaincopy
  1. sudo?mv?gcc?gcc.bak??
  2. ??
  3. sudo?ln?-s?gcc-4.4?gcc??



同理
[java]?view plaincopy
  1. ls?-l?g++*??
  2. ??
  3. lrwxrwxrwx?1?root?root??????7?2011-08-14?15:17?g++?->?g++-4.6??
  4. ??
  5. -rwxr-xr-x?1?root?root?228640?2011-10-06?05:45?g++-4.4??
  6. ??
  7. -rwxr-xr-x?1?root?root?306200?2011-09-17?05:39?g++-4.6??


备份,链接到g++4.4

[java]?view plaincopy
  1. sudo?mv?g++?g++.bak??
  2. ??
  3. sudo?ln?-s?g++-4.4?g++??

?


再查看gcc和g++版本号,看是否为4.4:
[java]?view plaincopy
  1. gcc?-v??
  2. g++?-v??


至此,编译android的准备工作完毕!