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.依赖库
4.开始编译
(1) 修改 mydroid/art/build/Android.common_build.mk 文件,定位到75行,将下面的代码:
(2)在 .bashrc文件末尾添加:export USE_CCACHE = 1
(3) 为了提高编译效
a177
率,设置编译器高速缓存(不然很容易提示内存不够之类的问题):
(4) 接着导入编译Android源码所需的环境变量和其它参数:
(5)lunch 选择1
(6)make -j8 (j后面跟cpy个数,根据具体电脑实际情况设置)
然后就是漫长的等待。
备注:
如果编译过程中报出out of memory,please increase your java Xmx 错误时候:
可尝试执行以下操作,然后再次编译,即可成功:
1. 在 .bashrc文件末尾添加:export USE_CCACHE = 1
2. 为了提高编译效率,设置编译器高速缓存。
3. 终端执行下面命令,提高Xmx的内存。
4. 在android源码根目录执行以下命令重启jack-server
5. 若还有问题,可尝试修改
改成
详细步骤可参考文章。http://blog.csdn.net/fuchaosz/article/details/51487585
源码最好还是从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
相关文章推荐
- Android 事件分发机制
- Android Notification
- android固件集成
- android中 ionic tabs 位置更改
- Android梳理不常用widget篇
- mysql -- 区分apk包中,java包,android包,第三方包的方法
- [置顶] android 底层日志 开发框架 崩溃后进行记录 LogReport
- Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)
- ListView
- Android Fragment 详解 2016 干货
- android的ImageView动画自动播放
- Android TextView限制字数属性
- android textview
- Android 自定义View 图片按Path运动和旋转
- Kotlin开发Android笔记2:Kotlin与Java简单比较
- 通过addDataScheme("file") 浅析android事件过滤策略
- Android学习第一天
- Android实现滑动的七种方法
- 理解屏幕和资源的常见问题
- Android Studio 注释模板生成