Ubuntu16.0.4安装与编译Android源码
2016-06-29 12:30
495 查看
一、环境搭建
1.系统安装我们知道Android系统是基于Linux开发的,所以我们想编译Android系统源码的话,就必须有一个Linux系统,这里我使用了Ubuntu 64位的系统,这个镜像文件的下载地址是:
http://pan.baidu.com/s/1bQ219G
Android 源码编译的磁盘和硬盘空间要求较高,ubuntu 的磁盘空间需要分配60G以上,我安装的是双系统,分配了100G的空间,编译完成使用了55G左右; 内存至少分配 2G,并且Swap空间分配4G
2.安装openjdk-7-jdk
Android 5.0 之后用到的jdk不在是Oracle 的 jdk ,而是开源的 openjdk,在ubuntu安装好后,使用如下命令安装openjdk:
1. $sudo apt-get update 2. $sudo apt-get install openjdk-7-jdk 3. $sudo update-alternatives --config java 4. $sudo update-alternatives --config javac
安装好后,设置环境变量:
gedit /etc/profile
在/etc/profile 文件末尾加上:
1. JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ 2. PATH=$PATH:$HOME/bin:$JAVA_HOME/bin 3. export JAVA_HOME 4. export PATH
3.安装依赖软件
使用如下命令安装依赖软件:
1. $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 2. $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
二、源码下载
1.工具下载安装配置ccache
安装ccache并将export USE_CCACHE=1加入到~/.bashrc中。
1. $sudo apt-get install ccache 2. $source ~/.bashrc
git :使用repo工具的时候会用到git,git并没有在Ubuntu中预装,所以需要事先安装git,使用命令:
sudo apt-get install git
安装完成之后,需要对Git进行配置,设置git的电子邮件和用户名。
如果没有,注册一个
https://github.com/
git config --global user.email "你的电子邮件地址" git config --global user.name "你的名字"
curl :官方一点的说法就是开源的文件传输工具,类似迅雷。
所以我们需要自己动手安装:
sudo apt-get install curl -y
执行如下命令:
//新建一个bin目录
mkdir ~/bin
//将bin目录写入环境变量(这样你在任何目录下都可以访问)
PATH=~/bin:$PATH
//轮到curl工具了,我们使用curl工具下载repo,并将其放置到bin目录
curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo
//更改repo权限
chmod a+x ~/bin/repo
执行完以上命令之后,是不是有点成就感了?平日里就堵这里吧?我们继续:
接下来新建一个目录,用于放置Android源码,并进入该目录,如下:
mkdir android cd android
接下来我们初始化仓库:
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
(接下来这一步就是从服务器取代码了,如果你只想下载特定的android版本,可以使用如下命令:
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b Android版本
Android 版本可以参考这个网址
https://source.android.com/source/build-numbers.html#source-code-tags-and-builds
由于某些原因(你懂得),很多人可能无法查看
但我们下载全部代码,运行命令:
repo sync
三、源码编译
1.源码编译
ps:编译过程比较就,我电脑双核的,使用单线程编译的,时间位12小时左右,如果使用多线程,时间应该会成倍减少
1)设置cache
1. $ cd aosp 2. $ prebuilts/misc/linux-x86/ccache/ccache -M 50G
2)初始化编译环境
1. $ . build/envsetup.sh
3)选择编译目标包
ps:lunch的方式有很多中,可以使用lunch命令查看,我使用最常用的
1. $lunch aosp_arm-eng
4)编译
1. $make
ps:1.make后面可以更参数:如你的机器时双核,每核双线程的话,使用make -j4,这样速度更快,但编译时使用的内存也更多2.make失败或停止后,可以使用make -k 继续编译
2.模拟器展示
$ emulator
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置