如何搭建Android编译环境V1.3 - benson

发布时间 : 星期六 文章如何搭建Android编译环境V1.3 - benson更新完毕开始阅读

Ococci Tech

V1.3 : 添加GCC 4.4对Android 4.0的环境补充 添加 Android SDK和ADB的安装方法 2012-2-9 http://download.virtualbox.org/virtualbox/4.1.4/

安装virtualboix后如果遇到虚拟机出现错误、无法打开后,可以用下面命令卸载掉再装:

sudo apt-get purge virtualbox-4.1

或者用clean remove autoremove试试看 sudo apt-get remove virtualbox sudo /etc/init.d/vboxdrv setup

http://forums.linuxmint.com/viewtopic.php?f=141&t=61699

A10编译环境和编译过程手册

第一步:安装UBUNTU 11.10 64bits

(注:看参看网络http://hi.http://www.china-audit.com//eao110/blog/item/8fe4aa1ef934af0340341716.html)

1 先在ubuntu的网站下载对应的Ubuntu版本: xxx.iso, 然后在

http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ 下载 universal-usb启动的工具universal-usb

(务必64bits的Ubuntu, 因为Android 2.3以后的版本Google建议在64位系统编译)

2, 用universal-usb将iso写入到usb中, 创建usb启动盘. 注意要选择正确的ubuntu版本, usb必须格式化为fat32

补充:利用Universal-USB-Installer-1.8.6.8.exe工具,选择ubuntu-11.10-desktop-amd64.iso版本。同时请格式化U盘为FAT32。请见”做Linux启动盘.bmp”图片。安装前请进入BIOS设置启动顺序(Hard Disk Boot Proiority选中将USB-HDD0设为第一启动,保存并退出。)

3. 找windows下用partition wizard或其它分区工具分三个区出来, 一个是swap区,大概8G; 另一个是ext4的分区, 用于装ubuntu的操作系统.建议40 GB;最后一个ext4, 100 GB,建议mount到/home目录,这个用于装用户的程序,以及用于编译。可以在linux安装过程中分区,用add就可以。

补充:选取install后,选取手动安装之后分区,其它的选用默认的就可以了。

swap区:8G,(/分区)装ubuntu的操作系统.建议40 GB,home分区,100G以上。其它不变就可以了。

4, 重启电脑, 通过usb启动. 按提示安装. 注意, 在选择安装所在的位置时, 选择自己分配. 补充:请先设置BIOS为U盘启动。

Ococci Tech

5. 在Ubuntu下配置USB的读写:在 /etc/udev/rules.d/创建一个文件51-android.rules,(sudo touch /etc/udev/rules.d/51-android.rules)(sudo gedit /etc/udev/rules.d/51-android.rules) 并将下面的内容写入, 注意将username替换为你的用户名:

(Under GNU/linux systems (and specifically under Ubuntu systems), regular users can't directly access USB devices by default. The system needs to be configured to allow such access. The recommended approach is to create a file /etc/udev/rules.d/51-android.rules (as the root user) and to copy the following lines in it. must be replaced by the actual username of the user who is authorized to access the phones over USB.) # adb protocol on passion (Nexus One)

SUBSYSTEM==\OWNER=\

# fastboot protocol on passion (Nexus One)

SUBSYSTEM==\OWNER=\

# adb protocol on crespo/crespo4g (Nexus S)

SUBSYSTEM==\OWNER=\

# fastboot protocol on crespo/crespo4g (Allwinners)

SUBSYSTEM==\OWNER=\

另:设置Ubuntu USB的访问性

1. Log in as root and create this file: /etc/udev/rules.d/51-android.rules. 2. Use this format to add each vendor to the file:

SUBSYSTEM==\SUBSYSTEM==\SUBSYSTEM==\

3. Now execute:

4. chmod a+r /etc/udev/rules.d/51-android.rules

或//sudo chmod a+r /etc/udev/rules.d/51-android.rules

第二步: Install necessary tools

编辑 /etc/apt/sources.list 文件, sudo gedit /etc/apt/sources.list

添加下面的源,放在这个list文件的最顶端

#网易 Ubuntu 11.10 源(速度很快),另外这个源是ubunt11.10的,若10.04要换

deb http://mirrors.163.com/ubuntu/ oneiric main universe restricted multiverse deb-src http://mirrors.163.com/ubuntu/ oneiric main universe restricted multiverse deb http://mirrors.163.com/ubuntu/ oneiric-security universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ oneiric-security universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ oneiric-updates universe main multiverse restricted

Ococci Tech

deb http://mirrors.163.com/ubuntu/ oneiric-proposed universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ oneiric-proposed universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ oneiric-backports universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ oneiric-backports universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ oneiric-updates universe main multiverse restricted

deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse

1,对于Android 2.3以后的版本, 需要JDK 1.6,先安装JDK 1.6

$ sudo add-apt-repository \会没有反应,如没有出错提示,请继续) $ sudo apt-get update

$ sudo apt-get install sun-java6-jdk,

if fail,follow below:

//=========================================================== 最后实现办法 1、添加这个源:

deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse。 2、sudo apt-get update

3、sudo apt-get install sun-java6-jdk

然后就会出现下载安装sun-java6-jdk。。。有点久 当下载完成时,就会有

//===========================================================

说明成功了。^_^

(装的时候按TAB键才能选到OK)

2,安装必要的库( lib32readline5-dev可能不能安装, 用lib32readline-gplv2-dev替代)

(1). $sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev

(2). $ 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 lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils

(3). $sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

Ococci Tech

(4). $ 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 lib32readline-gplv2-dev gcc-4.5 g++-4.5 gcc-4.5-multilib g++-4.5-multilib

(5). $sudo apt-get install gcc-4.4 gcc-4.4-multilib g++-4.4 g++-4.4-multilib

2.1 将编译工具改为gcc 4.4(或者gcc 4.5)

(注:若使用ubunt 11.10自带的4.6.1/4.5,编译Android 4.0 需要修改3-4个地方) $cd /usr/bin $sudo rm gcc $sudo rm g++

$sudo ln -snf gcc-4.4 gcc $sudo ln -snf g++-4.4 g++ $sudo ln -snf cpp-4.4 cpp

2.2 对于用GCC 4.4编译Android 4.0,还需要执行以下命令:

sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

3. 安装设置交叉编译工具

将设工具链(arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2)解压放到根目录 /crosstool 下

$ sudo mkdir /crosstool

$ cd xxxxx 目录(放arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2地方) cp arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /crosstool $ cd /crosstool

$ sudo tar -jxvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

添加路径到 PATH 环境变量中

(1). 临时修改 shell 的 PATH 环境变量 $ export PATH=arm-2009q1/bin:$PATH

(2). 永久修改 shell 的 PATH 环境变量(cd /home/用户名 ls –al可显示出来) sudo gedit ~/.bashrc 在~/.bashrc 文件末尾,添加:PATH=/crosstool/arm-2009q1/bin:$PATH , 然后logout

第三步: 针对Ubuntu 11.10 64bits/GCC 4.6.1 ,需要修改Android源码如下。 只要按之前步骤将编译改为GCC4.4,那么STEP THREE可以跳过不用改。

1, 用于F20的代码默认是32位, 所以要修改. (注:A10不需要,F20需要改) ./external/clearsilver/cgi/Android.mk ./external/clearsilver/java-jni/Android.mk ./external/clearsilver/util/Android.mk ./external/clearsilver/cs/Android.mk

联系合同范文客服:xxxxx#qq.com(#替换为@)