您的位置:首页 > 移动开发 > Android开发

Ubuntu16.04 LTS 编译Android6.0.1源码

2016-07-27 16:38 591 查看
1.源码下载。

源码最好还是从google官网下载。但是国内比较坑爹,google下载不了。可从其他平台下载,如清华镜像AOSP。详情下载方式可参考清华镜像下载帮助:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

也可从本人网盘下载。百度网盘下载有速度限制,很慢。可晚上睡觉期间后台下载。

百度网盘地址:

http://pan.baidu.com/s/1qXDQs5u (android 5.1)

http://pan.baidu.com/s/1nvF86cp (android 6.0)

2.编译环境

系统:ubuntu 16.04 LTS

Java:openjdk-8-jdk

3.依赖库

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


4.开始编译

(1) 修改 mydroid/art/build/Android.common_build.mk 文件,定位到75行,将下面的代码:

**ifneq ($(WITHOUT_HOST_CLANG),true)**
改为:
**ifneq ($(WITHOUT_HOST_CLANG),false)**


(2)在 .bashrc文件末尾添加:export USE_CCACHE = 1

echo export USE_CCACHE=1 >> ~/.bashrc


(3) 为了提高编译效
a177
率,设置编译器高速缓存(不然很容易提示内存不够之类的问题):

prebuilts/misc/linux-x86/ccache/ccache -M 50G


(4) 接着导入编译Android源码所需的环境变量和其它参数:

source build/envsetup.sh


(5)lunch 选择1

(6)make -j8 (j后面跟cpy个数,根据具体电脑实际情况设置)

然后就是漫长的等待。

备注:

如果编译过程中报出out of memory,please increase your java Xmx 错误时候:

可尝试执行以下操作,然后再次编译,即可成功:

1. 在 .bashrc文件末尾添加:export USE_CCACHE = 1

echo export USE_CCACHE=1 >> ~/.bashrc


2. 为了提高编译效率,设置编译器高速缓存。

prebuilts/misc/linux-x86/ccache/ccache -M 50G


3. 终端执行下面命令,提高Xmx的内存。

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"


4. 在android源码根目录执行以下命令重启jack-server

out/host/linux-x86/bin/jack-admin kill-server
out/host/linux-x86/bin/jack-admin start-server


5. 若还有问题,可尝试修改
/root/.jack-server/config.properties
文件,将


jack.server.max-service=4


改成

jack.server.max-service=1


详细步骤可参考文章。http://blog.csdn.net/fuchaosz/article/details/51487585
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: