Ubuntu 16.04 64bit 编译 Android 4.

作者: 孙肖依 | 来源:发表于2016-08-16 12:08 被阅读6716次

    1.获取Android源码

    (1)下载repo

    在用户目录下创建一个bin文件夹来存放repo,并把该路径设置到环境变量中

    mkdir ~/bin

    PATH=~/bin:$PATH

    下载repo脚本

    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

    设置repo可执行权限

    chmod a+x ~/bin/repo

    (2)初始化repo客户端

    创建AndroidCode目录用来存放源码

    mkdir AndroidCode

    cd AndroidCode

    运行repo下载源码

    repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1

    repo sync

    注:下载android源码对网络要求较高,如果中间出现错误,不要删除已缓存的文件,重新执行repo sync即可。如果网速不允许的话,推荐在论坛或者网盘上找资源,在windows下载后拷贝到ubuntu下即可(无需配置repo)。无论采用哪种方式,切记源码的路径一定不要含有中文。

    2.搭建编译环境

    (1)安装编译工具

    sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386

    sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib

    sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

    sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev

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

    sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib

    sudo apt-get install libc6-dev-i386

    sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev

    sudo apt-get install lib32z-dev ccache

    sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

    注:安装过程中可能出现版本不匹配的问题,但是系统会给出应安装的正确版本提示,按照系统提示安装即可。如果出现不能安装的情况,可以执行 sudo apt-get update 后再进行安装,如果再安装不上,则可以放弃,影响不大。如果电脑里没有git一定要安装一下git。

    (2)安装jdk

    Android4.4的源码编译所使用的jdk为oracle jdk1.6。由于不能直接下载,所以可在论坛或网盘上找资源下载jdk1.6.0_45.下载后为.bin文件

    首先在/usr/loacl目录下创建jvm文件夹用来存放jdk

    mkdir /usr/local/jvm

    然后进入到Downloads下找到刚才下载的jdk,复制到/usr/local/jvm中

    cp jdk-6u45-linux-x64.bin /usr/local/jvm

    然后进入到/usr/local/jvm下,给.bin文件一个可执行权限

    chmod +x jdk-6u45-linux-x64.bin

    执行.bin文件进行安装

    ./jdk-6u45-linux-x64.bin

    安装成功后设置环境变量,打开/etc/profile,添加如下几行后保存

    export JAVA_HOME=/usr/local/jvm/jdk1.6.0_45

    export JRE_HOME=/usr/local/jvm/jdk1.6.0_45/jre

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

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

    修改后Log Out之后再进入,在终端输入java -version,显示java version "1.6.0_45"则为配置成功

    注:编译的时候jdk一定要安装1.6的最高版本,即jdk1.6.0_45,否则编译中会报错,推荐下载地址http://download.csdn.net/detail/javahr/7291125

    (3)安装make

    由于ubuntu16.04自带make版本过高,无法编译。因此需要将make降至3.81或3.82版本

    下载地址ftp://ftp.gnu.org/gnu/make/

    下载后到Downloads下将文件拷到其他目录(home下即可),然后解压

    tar -zxvf make3.8.2.tar.gz

    解压后进入到make3.8.2的目录下

    ./configure

    make

    make install

    执行完后在/usr/local/bin中可得到新版本的make,复制到/usr/bin中即可

    注:make过程中可能会出现错误,不用理会,只要make install能够成功执行即可。

    (4)编译

    首先在.bashrc文件末尾追加export USE_CCACHE = 1

    echo export USE_CCACHE=1 >> ~/.bashrc

    然后导入编译Android源码所需的环境变量和其他参数:

    source build/envsetup.sh

    然后

    make clean

    make update-api

    make

    注:其中前两行不是必须的,make update-api可能会出错,但是影响不大。

    最后一行make也可以用make -j4(四线程编译),电脑性能好的可以用make -j8或-j10,总之是二的倍数。我怕电脑死机只用了make,不过稍微有点慢。

    如果没什么意外的话等待编译成功就好了。。。

    (5)启动Android模拟器

    source build/envsetup.sh

    lunch sdk-eng

    emulator

    等待一会之后模拟器即可启动

    (6)最后:

    过程整理出来大概就是这样,由于上文好多命令都是我自己手敲上去的,可能有的敲错了,给大家推荐两篇参考博客

    http://www.jianshu.com/p/6d97b4a10b18

    http://blog.sina.com.cn/s/blog_6e65e8cc0102wm83.html

    如果顺利的话整个编译过程是不会出现网上所说的各种错误的。

    祝大家编译成功~

    相关文章

      网友评论

      • 赵海洋:mkdir /usr/local/jvm
        export JAVA_HOME=/usr/local/java/jdk1.6.0_45
        这两处的目录不匹配,一个是jvm,一个是java。请修正。
        孙肖依:已更正,非常感谢~
      • zenRRan:又学到了新知识!大腿!!

      本文标题:Ubuntu 16.04 64bit 编译 Android 4.

      本文链接:https://www.haomeiwen.com/subject/wndpsttx.html