64bits Ubuntu下编译Android步骤及所遇到问题解决


第一步:对环境的准备:

1. 在windows下安装virtualbox,virtual下载地址:http://www.virtualbox.org/wiki/Downloads,下载最新版本,我的是4.0.2 r69518

2. 下载Ubuntu 64bits ISO image, 我是下载的这里:http://mirror01.th.ifl.net/releases/10.04.1/ubuntu-10.04.1-desktop-i386.iso

3. 在virtualbox上,安装ubuntu,我选择的都是缺省设置和安装;

第二步:下载source code,我主要参考了 http://source.android.com/source/downloading.html,

1. download http://android.git.kernel.org/repo, 把文件 repo 放到你的linux命令执行路径;

2. 因为公司只能用http代理上网,所以无法直接使用git协议连接到git server,倒是http协议可以,所以更改repo文件的这一行内容:

REPO_URL='git://Android.git.kernel.org/tools/repo.git'

为:

REPO_URL='http://android.git.kernel.org/tools/repo.git'

3. 在命令行内,执行全局代理服务器设置:

   export http_proxy=http://proxyIP:proxyPort

   export HTTP_PROXY=http://proxyIP:proxyPort

   我也不知道大写的还是小写的要用到,反正都设上吧!

4. In your working directory, repo init -u http://android.git.kernel.org/platform/manifest.git

5. 执行完成后,你会在工作目录下获得这个文件:working_dir/.repo/manifest.xml

    把它的git://android.git.kernel.org/ 改为:http://android.git.kernel.org/

6. 在工作目录下执行:repo syn

7. 休息,等待漫长的时间完成上一步;大约要下载两G多的内容

8. 运行,gpg --import,然后输入key的内容,key的内容可以在http://source.android.com/source/downloading.htm找到;

第三步:准备编译环境,请参考http://source.android.com/source/initializing.html:

1. 设置好deb的software repo source, 增加这两个:

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"

2. 执行更新sudo apt-get update

3. 安装sun-java6-sdk: sudo apt-get install sun-java6-jdk

    据说要编译Froyo和老的版本要java5,我没有试

4.参考网页上说要在ubuntu系统中安装如下软件包:

git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

我在执行过程中发现两个问题:

  a. lib32z-dev在我的系统中不存在,我系统中只有:lib32z1-dev,所以装这个;

  b. 除了上面的软件包要安装外还要安装g++-multilib,否则会发生找不到合适的stdc++库的错误,google官方参考网页说,只有在编译Froyo以前的版本才需要,这种说法在我的环境下是错误的。

5. 据说还要设置usb设备的访问,我这次没有作,以后做了再记录下来;

第四步:编译全系统

1. source ./build/envsetup.sh

2.lunch full-eng

3. make -j4

    如果你没有给你的虚拟机分4个cpu,就不要加-j4了,会更慢

我花了两个多小时完成的make -j4,

还没有测试编好的emulator(虚拟机上的虚拟机:emulator on virtualbox)。等测试完成,再写步骤。

相关内容