ubuntu12.04平台下a80编译环境搭建

如果出现unable to locate package ,则用sudo apt-get update

安装JDK6

下面开始安装jdk:

在网上查的一些资料上都是把jdk安装在/usr/lib/jvm/jdk下面,也有安装在/opt下的,我在这里介绍的就是把它安装在了/opt下,

终端下进入你存放jdk-6u45-linux-x64.bin

$sudo chmod 777 jdk-6u45-linux-x64.bin

$ sudo -s  ./jdk-6u45-linux-x64.bin  /opt

一路回车,直到询问是否安装,输入yes回车   (直接敲一个大写的A加车更好,)

[如果此命令执行完毕,安装目录并不是在/opt下,而是你自己的帐户目录下,请将整个文件夹移动到/opt 中,并给出适当的权限]

 $ sudo mv jdk1.6.0_45 /opt

ok,安装完毕,下面配置环境变量

配置classpath,修改所有用户的环境变量

$ gksudo gedit /etc/profile

在文件最后添加

#set java environment

JAVA_HOME=/opt/jdk1.6.0_45

export JRE_HOME=/opt/jdk1.6.0_45/jre

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

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

刷新/etc/profile

$source  /etc/profile

查看java版本

$java –version

显示:

danquan@ubuntu:~$ java -version

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

 

安装编译库:(最好选择逐一安装,或者几个安装,不要全部一次性安装,防止有些库失效)

sudo apt-get install git-core gnupg flex bison gperf build-essential

 zip curl zlib1g-dev libc6-dev lib32ncurses5-dev

x11proto-core-dev  libx11-dev  lib32z1-dev  libgl1-mesa-dev g++-multilib

 mingw32 tofrodos python-markdown libxml2-utils

最后安装ia32-libs  

新版本ubuntu不能更新的 ia32-libs,被lib32z1  lib32ncurses5  lib32bz2-1.0取代

因为ubuntu64-32兼容性不是很好,所以你是缺少32位运行库

自己安装需要的32位库

$ sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386

但是在安装过程中遇到了如下错误:

Errors were encountered while processing:

libc6-dev:i386

E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方法如下:

$ sudo apt-get install linux-libc-dev:i386

$ sudo apt-get install libc6-dev:i386

至此我们的编译环境就算搭建完毕了,至少在我的电脑上是这样的,下面我们就可一开始下载Android代码来编译了。

最后安装ia32-libs

$ sudo apt-get install ia32-libs

Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法跟Ubuntu 12.04 - 13.10 以及jellybean编译环境配置没多大区别

修改gccg++版本

 

将gcc的默认版本改为4.4.

安装gcc4.4和g++4.4

sudo apt-get install gcc-4.4

sudo apt-get isntall g++-4.4

修改默认gcc和g++为4.4的版本

sudo update-alternatives --remove-all gcc

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 40

配置默认的gcc和g++

sudo update-alternatives --config gcc

sudo update-alternatives --config g++

用命令: ls /usr/bin/gcc* -l

显示,gcc的版本,更改版本,

#sudo apt-get install gcc-4.4 g++-4.4

删除4.7版本软连接:sudo rm /usr/bin/gcc

                    sudo rm /usr/bin/gcc

新建4.4版本连接: sudo ln –s /usr/bin/gcc-4.4 /usr/bin/gcc   

                   sudo ln –s /usr/bin/g++-4.4 /usr/bin/gcc

编译内核前在a80_optimus下执行find lichee/linux-3.4/modules/ -type l | xargs rm -fv

编译出现:

 "mkimage" command not found - U-Boot images will not be built

解决方法:

如果使用的是Ubuntu 9.10及以上版本,可以使用下面的命令安装mkimage:

   #apt-get install uboot-mkimage

如果已经安装了jdk,还是提示jdk错误

解决方法

请确保你的jdk在/usr/lib/jvm下

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/bin/java 300 

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 300 

sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.6.0_45/bin/javah 300

sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_45/bin/javap 300

sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_45/bin/javaws 300

sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk1.6.0_45/bin/javadoc 300

sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_45/bin/jar 300

重新编译内核

安装samba共享,

#sudo apt-get install system-config-samba

#运行samba图形界面

#sudo system-config-samba

选择要共享的文件夹,权限设置为所有人可读可写

#映射电脑硬盘,

查看虚拟机ip 

#ifconfig

桌面上我的电脑,右键选择映射到磁盘,

输入IP地址,完成samba共享

ccache ubuntu配置

设置方法(ubuntu):

①安装ccache

官网下载或apt安装  sudo apt-get install ccache

②$ which ccache

查看安装路径, /usr/bin/ccache

③$ mkdir ~/.bin

④ $ cd ~/.bin/

   $ ln -s /usr/bin/ccache gcc

   $ ln -s /usr/bin/ccache g++

  // $ ln -s /usr/bin/ccache arm-linux-gcc

 //  $ ln -s /usr/bin/ccache arm-linux-g++

⑤PATH设置,将~/.bin/放在原PATH的前面。

  gedit ~/.bashrc 添加 export PATH="/home/<user>/.bin:/usr/bin" ,然后重启即可

⑥测试命令

which g++

which gcc

⑦$ ccache -M 2G

硬盘空间不够,挂载新硬盘

mount /dev/sdb1  /home/danquan/a80  -t ext4

Android源码编译后,再重编译如果需要做的清理工作

1、在源码目录的根目录下,make clean;

2、进到源码的linuxkernel目录下,执行make mrproper;

3、退回到根目录,按照说明书依次执行source build/envsetup.sh,lunch,选择产品,extrat -bsp,make –j8等操作。

注:将编译过程中的日志输出到指定文件中,最后一步make可以增加指令

make –j8 2>build_log.txt  (将编译过程中的错误日志输出到build_log.txt文件当中)

make –j8 1>build_log.txt  (将编译过程中产生的正确的日志输出到build_log.txt当中)

make -j8 >build_log.txt 2>&1 (将编译过程中产生的全部日志输出到build_log.txt当中)

原文地址:https://www.cnblogs.com/righere/p/4900104.html