编译android5.0源码的
2015-08-10 11:33
351 查看
java环境
Android 5.1 用到的jdk不再是Oracle 的 jdk ,而是开源的 openjdk,在ubuntu安装好后,使用如下命令安装jdk:$sudo apt-get install openjdk-7-jdk
设置环境变量
在/etc/profile 或者文件末尾加上:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
安装编译依赖的软件
使用如下命令安装依赖软件:sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa- dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
配置Cache
使用如下命令配置cache:sudo apt-get install ccache
source ~/.bashrc
源码编译
ps:编译过程比较就,我电脑双核的,使用单线程编译的,时间位12小时左右,如果使用多线程,时间应该会成倍减少1)设置cache
cd aosp
prebuilts/misc/linux-x86/ccache/ccache -M 50G
2)初始化编译环境
. build/envsetup.sh
3)选择编译目标包
ps:lunch的方式有很多中,可以使用lunch命令查看,我使用最常用的
lunch aosp_arm-eng
4)编译
make
ps: 1.make后面可以更参数:如你的机器时双核,每核双线程的话,使用make -j4,这样速度更快,但编译时使用的内存也更多
2.make失败或停止后,可以使用make -k 继续编译
参考链接
Ubuntu 下载 & 编译 Android5.1 源码编译出错处理
错误1 No rule to make target 'external/chromium_org/third_party/angle/.git/index', need by .....进入相应的目录,发现在angle目录下根本没有.git的目录,这个也可以理解,因为不是自己通过repo和git直接从官网download,所以没有.git目录(这个目录是git的管理目录,跟.svn的作用一样)。因此我们只有一个办法,就是不让源码编译.git/index的部分。
具体修改如下:
将external/chromium_org/third_party/angle/src/commit_id.target.linux-arm.mk文件中关于index的部分注释掉:
原始部分(原始文件中下面绿色标出的部分写在了同一行)
......
$(gyp_shared_intermediate_dir)/angle/id/commit.h: $(gyp_shared_intermediate_dir)/angle/commit_id.py $(LOCAL_PATH)/third_party/angle/.git/index
$(GYP_TARGET_DEPENDENCIES)
......
改成
......
$(gyp_shared_intermediate_dir)/angle/id/commit.h: $(gyp_shared_intermediate_dir)/angle/commit_id.py
#$(LOCAL_PATH)/third_party/angle/.git/index$(GYP_TARGET_DEPENDENCIES)
......
这样就能让源码不编译.git下面的index部分,编译就能通过,亲测成功!
相关文章推荐
- Android初学习 - 获取控件尺寸的方法
- Android 5.0 - 5.1特性
- Android 智能指针学习 一
- android4.0去掉锁屏和休眠 Power键按钮
- Android抓包
- Mac下安装android 环境
- android 在代码中使用 #ffffff 模式 设置背景色
- Android多媒体系统分析-Audio Framework 分析
- Android开发教程 如何优化andriod布局
- Android 实现点击按钮获取验证码 60秒后重新获取效果
- Android初学习 - 在布局中动态添加view的两种方法
- android 百度地图导航key未出现验证状态,导航初始化失败
- Android 使用存放在存assets文件夹下的SQLite数据库
- Android初学习 - 使用RelativeLayout动态添加View
- Google Android SDK开发范例大全目录
- 【Xamarin开发 Android 系列 1】环境部署搭建
- Android主线程到底是什么(二)
- android多媒体系统分析-AudioPolicyService
- Android(java)学习笔记145:BaseAdapter适配器重写之getView()
- Android照片墙完整版,完美结合LruCache和DiskLruCache