美文网首页
Ubuntu14.04 Android 源码编译相关

Ubuntu14.04 Android 源码编译相关

作者: 碎语说 | 来源:发表于2017-05-06 16:36 被阅读0次

    参考:
    http://www.jianshu.com/p/367f0886e62b
    https://source.android.com/source/initializing
    https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

    1、环境相关
    首先保证电脑配置要够,cpu最好是4核以上的,因为编译的时候很耗费cpu,如果是4核双线程的,编译的时候可以起16个线程,make -j16,大大加快编译速度
    其次就是内存,最好是16G,如果是在虚拟机里面编译的话要开始swap分区,大小要超过16G
    最后就是硬盘,如果只编译一个版本的话150G是要得,多版本就200G+了。
    2、编译环境配置
    java配置
    sudo add-apt-repository ppa:openjdk-r/ppa
    sudo apt-get update
    sudo apt-get install openjdk-8-jdk
    如果装有多个版本的java,切换java版本
    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javadoc
    编译各Android版本需要的java版本如下
    Android版本 编译要求的JDK版本
    AOSP的Android主线 OpenJDK 8
    Android 5.x至android 6.0 OpenJDK 7
    Android 2.3.x至Android 4.4.x Oracle JDK 6
    Android 1.5至Android 2.2.x Oracle JDK 5

    配置编译工具链
    $ 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 x11proto-core-dev libx11-dev lib32z-dev ccache
    libgl1-mesa-dev libxml2-utils xsltproc unzip

    3、源码下载
    下载 repo 工具:

    mkdir ~/bin
    PATH=~/bin:$PATH
    curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo > ~/bin/repo
    chmod a+x ~/bin/repo
    建立工作目录:
    mkdir WORKING_DIRECTORYcd WORKING_DIRECTORY

    初始化仓库:
    repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

    如果提示无法连接到 gerrit.googlesource.com,请参照git-repo的帮助页面的更新一节。
    如果需要某个特定的 Android 版本(列表):
    repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1

    同步源码树(以后只需执行这条命令来同步):
    repo sync

    4、编译源码
    初始化编译环境
    source build/envsetup.sh
    选择编译目标
    lunch aosp_arm64-eng
    开始编译
    make -j16
    运行模拟器
    emulator

    5、问题
    内存不足
    在编译命令之前,修改prebuilts/sdk/tools/jack-admin文件,找到文件中的这一行:
    JACK_SERVER_COMMAND="java -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
    然后在该行添加-Xmx4096m,如:
    JACK_SERVER_COMMAND="java -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"

    相关文章

      网友评论

          本文标题:Ubuntu14.04 Android 源码编译相关

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