64bits Ubuntu下编译Android的步骤,所遇到的问题和解决方法

    技术2022-05-20  72

    第一步:对环境的准备:

    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)。等测试完成,再写步骤。

     


    最新回复(0)