android 4.2.2 搭建编译环境 JDK

安装搜狗输入法:

sudo apt-get remove ibus //Ubuntu默认安装ibus,删除它

sudo apt-get remove fcitx* //如果有安装过fcitx的话,也删除它

sudo apt-get autoremove //删除依赖库

dpkg --get-selections | grep fcitx //检测是否删除fcitx

sudo add-apt-repository ppa:fcitx-team/nightly //添加fcitx的ppa

sudo apt-get update

sudo apt-get install fcitx-sogoupinyin //安装搜狗输入法


GCC/G++应该使用4.6.3以下的版本,jdk6.0

Linux/ubuntu 查看JDK版应是32位还是64位

Linux/ubuntu 查看JDK版本是32位还是64位

通过 java  -version 查看

可下图所示:当前工作目录下安装有一个32位的jdk(sun jdk),64位的jdk可以看到 64-bit的字符串,但32位是没有相关的信息的.

-------------------------安装jdk-------------------------

接下来就是安装jdk了,在此提醒一下,因为系统自带有openjdk,所以当在终端中输入java -version命令的时候,会有一些提示的,这个不要担心,没什么影响,我们要自己手动配置自己的jdk,好了,先说这第多,上图吧

首先到http://www.oracle.com/technetwork/java/javase/downloads/   java se下载jdk,下载的是jdk-6u45-linux-i586.bin,

1、sudo chmod u+x /usr/lib/jdk-6u45-linux-i586.bin

2、./jdk-6u45-linux-i586.bin

执行后,解压出jdk1.6.0_45文件夹。将文件夹拷贝到 /usr/lib/jvm/目录下。


以下 /home/and/java 目录改为 /usr/lib/jvm/ 。

然后在个人主文件夹下新建一个文件夹,我命名为java,我的用户名叫and,所以完整目录就是/home/and/java

然后把jdk-7-linux-i586.tar.gz复制到/home/and/java/目录下面,对于刚入门的朋友来说,用命令可能点不能理解各个指令的意思,在此用图形方式来做。鼠标右键->使用归档管理器打开,这时就可以看到里面的所有内容,我们需要把它解压出来,如图

点击工具栏上面的“解压缩”,就会把它解压到当前目录,此时的jdk目录就是/home/and/java/jdk1.7.0,此时已经解压完成了,下面来配置环境变量。

在终端中输入sudo gedit /etc/environment回车,会要求输入密码,然后会打开一个文件,在文件中输入以下三行

export JAVA_HOME=/home/and/java/jdk1.7.0

export JRE_HOME=/home/and/java/jdk1.7.0/jre

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

如图

注意最后一行,CLASSPATH后面有一个.:,(当时我这个忘了,结果写了个hello world,能编译,但是不能运行)

同样,再修改第二个文件,在终端中输入sudo gedit /etc/profile回车

在此文件中添加以下四行

export JAVA_HOME=/home/and/java/jdk1.7.0

export JRE_HOME=/home/and/java/jdk1.7.0/jre

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

如图:

做到这一步算是OK了,注销用户,然后在终端中输入java -version试一下,如图:

看到这个的话,表明已经安装成功了


安装其他的工具:

很多人在编译android4.0中可能遇到一些列问题,比如说其中一个就是GCC版本过高。

/usr/include/features.h:323:26: 致命错误: bits/predefs.h:没有那个文件或目录

编译中断。
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs.o] 错误 1
make: *** 正在等待未完成的任务….
In file included from /usr/include/stdlib.h:25:0,
from build/tools/acp/acp.c:11:
/usr/include/features.h:323:26: 致命错误: bits/predefs.h:没有那个文件或目录
编译中断。

或者是这个现象

<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
 <built-in>:0:0: note: this is the location of the previous definition
 cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1

上述两个问题都是由于:


ubuntu 11.10的gcc版本是4.6.1,版本太高,编译android时出错,要把gcc版本改为4.4.3。

废话不多说了,直接写解决方法吧;

ubuntu 系统下安装gcc 4.4的方法是仅用以下两条命令。

sudo apt-get install gcc-4.4

sudo apt-get install g++-4.4

装完后在/usr/bin目录下

$ ls -l gcc*

lrwxrwxrwx 1 root root      7 2011-10-29 09:11 gcc -> gcc-4.6

-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4

-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6

这时会发现gcc 链接到gcc-4.6,  需要将它改为链接到gcc-4.4 :

sudo mv gcc gcc.bak

sudo ln -s gcc-4.4 gcc

同理

ls -l g++*

lrwxrwxrwx 1 root root      7 2011-08-14 15:17 g++ -> g++-4.6

-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4

-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6

需要将g++链接改为g++-4.4:

/usr/bin$ sudo mv g++ g++.bak

/usr/bin$sudo ln -s g++-4.4 g++

再查看gcc和g++版本号:
gcc -v
g++ -v

以上方法还是不行。

/usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directoryIn file included from /home/hudan/android/source/android4.1.1/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/../sysroot/usr/include/sys/types.h:27:0,
                 from frameworks/native/include/utils/Errors.h:20,
                 from frameworks/native/include/utils/String8.h:20,
                 from cts/suite/audio_quality/lib/include/Settings.h:21,
                 from cts/suite/audio_quality/lib/src/Settings.cpp:17:
/usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directoryIn file included from /usr/include/stdlib.h:25:0,
                 from cts/suite/audio_quality/lib/src/Adb.cpp:16:
/usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory

compilation terminated.
compilation terminated.

compilation terminated.
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libcts_audio_quality_intermediates/src/SimpleScriptExec.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libcts_audio_quality_intermediates/src/Adb.o] Error 1
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libcts_audio_quality_intermediates/src/Settings.o] Error 1
In file included from /usr/include/semaphore.h:22:0,
                 from cts/suite/audio_quality/lib/include/Semaphore.h:21,
                 from cts/suite/audio_quality/lib/src/Semaphore.cpp:17:
/usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libcts_audio_quality_intermediates/src/Semaphore.o] Error 
解决方法:sudo apt-get install gcc-multilib 

以上方法还有问题!
g++: g++: selected multilib '32' not installed
sudo apt-get install g++-multilib

sudo apt-get install libc6-dev ia32-libs lib32ncurses5-dev x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utilsflexbison gperf build-essential curl lzop

sudo apt-get install g++-4.4-multilib
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值