Ubuntu14.04 编译 Android 5.1.1源码(采用国内镜像)

之前就有编译android源码的想法,但是由于有GFW的存在,又没有梯子,连开发工具都是经过androiddevtools从百度云弄下来的,前两天发现了清华大学AOSP的镜像站点,就想着从上面git android 源码,然后编译。在这里做个简单的记录,和大家分享一下,毕竟小水管不容易,下载源码加编译花了接近两天。

1.安装openjdk-7-jdk

$  sudo apt-get install openjdk-7-jdk

安装好之后修改 /etc/profile 中的环境变量,将openjdk加入到JAVA_HOME中

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/

我因为之前就有装过Oracle jdk,就直接把Open Jdk 附在了后面

然后使修改的配置文件立即生效:

$  .  /etc/profile

查看java 这时使用的jdk 就是Open Jdk

接下来安装必备的工具软件

$ 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-de

注意,上面使官方的需要安装的包,但是在实际中,我安装的时候报错了,

ERROR:
unity-control-center : 依赖: libcheese-gtk23 (>= 3.4.0) 但是它将不会被安装
                       依赖: libcheese7 (>= 3.0.1) 但是它将不会被安装

这里的报错是因为是由 libgl1-mesa-glx:i386 报引起的,需要替换掉,更改为:

$ sudo apt-get install libgl1-mesa-glx-lts-quantal:i386

接下来配置Cache,使用下面两条命令

$ sudo apt-get install ccache
$ source  ~/.bashrc  

然后就是下载repo :

首先创建repo 目录

$ mkdir ~/bin
$ PATH=~/bin:$PATH  

然后就是下载repo,google官方被墙了,这里用的是清华大学镜像的:

$ git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/ 

然后将git-repo 目录中的repo 文件拷贝到 bin目录

$ cp  git-repo/repo  ~/bin/  

接下来打开bin目录下的repo 文件,修改其中的  REPO_URL 参数,修改为:

REPO_URL = ‘git://aosp.tuna.tsinghua.edu.cn/android/git-repo‘ 

接下来就需要初始化repo:

先创建目录aosp,就是等会要存放android源码的目录

$ mkdir ~/aosp  

进入到aosp目录中

$ cd ~/aosp

初始化repo,最新的android 都可以进行下载,以下三条命令任意执行一条就可以了,会下载不同版本的android源码,我采用的是android-5.1.1

$ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.1.1_r4

$ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-6.0.1_r22

$ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-n-preview-1

在初始化的时候会要求输入名字和邮箱,正常输入就可以了。

最耗时间的步骤来了,下载android源码

$ repo sync  

我在同步的过程中有好几次出现Error,不用管,加上参数 -f 继续同步

$ repo sync -f

这个过程是很漫长的,我的小水管用了一天多才同步完成。

下载完成之后就是编译了,我的计算机是双核4线程,编译的还比较快,用了差不多5个小时编译完成:

1) 设置cache

$ cd aosp
$ prebuilts/misc/linux-x86/ccache/ccache -M 50G  

2) 初始化编译环境

$ . build/envsetup.sh

3)选择编译目标包

有很多中,可以用lunch命令查看,我选择的是最常用的arm

$ lunch aosp_arm-eng   

4)编译

可以在 make 后设置参数,加快编译速度,我用的是

$ make -j4

表示4个线程进行编译,因为我的计算机是双核4线程,如果机器配置更好,可以开更多的线程,减少编译时间

make 失败或停止后,可以使用make -k 继续编译,不过我是一次就编译成功了。

编译成功之后

会在aosp目录下编译产生out目录

然后就可以运行编译产生的模拟器了:

$ emulator &

运行的结果就是这样:

时间: 2024-08-04 03:41:24

Ubuntu14.04 编译 Android 5.1.1源码(采用国内镜像)的相关文章

编译Android 4.4.2源码

在之前的文章中,和大家分享了在天朝下下载android 4.4.2源码的过程(详见下载android4.4.2源码全过程(附已下载的源码)),现在写下编译的笔记. 虽然在android doc中,有提到可以用open jdk来编译,见:https://source.android.com/source/initializing.html,描述如下: Installing the JDK The master branch of Android in the Android Open Source

【转】Ubuntu 14.04.3上配置并成功编译Android 6.0 r1源码

http://www.linuxidc.com/Linux/2016-01/127292.htm 终于成功把Android 6.0 r1源码的源码编译.先上图,这是在Ubuntu中运行的Android模拟器: 由于我是在Win8中安装虚拟机VMware,然后在虚拟机中安装Ubuntu进行编译,所以遇到诸多麻烦.如果直接在Linux中编译,可能会更顺利. ------------------------------------------------------------------------

【Android 系统开发】 编译 Android 系统 u-boot 内核 源码 并烧写到 OK-6410A 开发板上

博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 Android 光盘 下载地址 : http://pan.baidu.com/share/link?shareid=3662728609&uk=2754759285 ; -- 光盘所含内容 : Android 引导 u-boot 源码, Android 内核 源码, Android 系统源码, 交叉编

VisualBox ubuntu14.04 64位 android4.4.4源码编译总结

折腾了好几天,今天终于编译通过,用了4个多小时,太不容易了.如下图所示: 软件环境 虚拟机:VisualBox 操作系统:Ubuntu14.04 64位 android源码:android-4.4.4_r1 在这过程中遇到各种问题,通过apt-get install 安装相应的库可以解决一部分.编译2-3个小时的时候遇到一个棘手的问题, “make: *** [out/target/product/mako/obj/SHARED_LIBRARIES/libwebviewchromium_inte

OSX 10.10.5 编译android 5.1.1源码

1.亲测可用的环境: 系统:OSX 10.10.5 JDK:1.7 Xcode:5.1.1 (自带的Xcode 6 在编译过程中出现了 string 头文件找不到的error,没找到解决方案,换到Xcode 5.1.1后问题解决) Command Line Tools:5.1.1 2.期间遇到的问题: ①.MacPorts下载下来安装一直停留在安装界面不动: 搞来搞去也搞不清楚为什么,看有的说是更新问题,最后换成了Homebrew,飕飕快,挺好(*^__^*) ②.make完源码后,emulat

Android5.0源码-国内镜像网站上用repo下载

1.找个地方git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git 2.把命令放到~/.bash_profile(source) 3.找个文件夹 repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.0.2_r1 4. repo sync 正在下载.预知后事如何,且听下回分解. 感谢清华大学.^_^ 版权声明:本文

Ubuntu14.04编译WebRTC For Android代码 2014-07-24

整整快一年没有写博客了,最近基于Google开源的WebRTC项目做了一款音视频聊天的即时通信项目,期间在下载WebRTC代码时就碰到了一些问题,在此以作记录,也希望能够帮助到正在下载编译WebRTC代码中碰到类似问题的童鞋们 1). 准备环境 1. Ubuntu14.04 LTS 系统 2. 准备一个稳定的速度还可以的VPN 或者 VPS ,这个很重要,大家都懂,大部分下载代码失败都是因为访问google服务失败导致的.(本人用的Digital Ocean, 之前试过几个VPN都以失败而告终,

在Ubuntu 12.04 64 位 搭载Android4.4源码编译环境

一.准备工作: (1)<a href = http://www.pc6.com/softview/softview_48354.html tiltle = “下载Vm10网址”>VMare Workstation 10</a> (2)<a href = http://releases.ubuntu.com/12.04/  tiltle = “下载Ubuntu12.04 64bit网址”>Ubuntu12.04 64bit</a> (3) <a href

Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

一.前言 在之前的破解过程中可以看到我们唯一离不开的一个神器那就是apktool了,这个工具多强大就不多说了,但是如果没有他我们没法涉及到后面的破解工作了,这个工具是开源的,也是使用Java语言开发的,代码相对简单,我们今天就来分析一下他的大体逻辑,注意是大体逻辑哦,因为如果要一行一行代码分析,首先觉得没必要,其次浪费时间,有了源码,谁看不懂呢.至于为什么要分析这个工具其实原因只有一个,就是我们在之前的反编译过程中会发现,总是有那么几个apk应用不让我们那么容易的反编译,他们就利用apktool