Ubuntu14.04上编译Android6.0源码教程

极客导航  2017-08-23 21:26  阅读 102 次 评论 1 条

今天(2016年11月6日)终于编译成功,参考的教程有很多,本来也想写一写,但发现自己可能对编译这东西考虑不全,误导了人,所以只好放弃自己写教程的想法。

一:下载Android源码

关于这一步,网上有下载好的源码,或者去清华大学开源软件镜像站下载,都很快的。

Android6.0源码,网盘下载地址:http://pan.baidu.com/s/1o6N86a2#path=%252F(这是别人上传的,我也是这里下载的,如果失效,请留言)

或者到http://blog.csdn.net/ilittleone/article/details/6823441  这位博主那下载

1、网盘下载:

下载完后(用网盘下载更快一点,然后拷贝到Ubuntu下Home目录或者其他,我参考了原作者)

  1. 在Ubuntu下的/Home目录下启动终端(Terminal)
  2. 进入Home/android6_r1
  3. 使用命令:cat Android6_r1_* > M.tgz   稍等一会儿就生产M.tgz
  4. 校验一下:md5sum M.tgz  (下载目录中有相关的md5校验码)
  5. 解压M.tgz:tar zxvf M.tgz
  6. 就出现mydroid这个目录

2、镜像站下载

直接去清华大学开源软件镜像站下载,使用的是repo下载

仔细看教程,就没什么问题。或者参考这篇文章《Ubuntu 下载 & 编译 Android5.1 源码

但是在那里下载好像有些下载不了,我这里提示我链接不上。。

比如直接下载镜像站中提供的实例:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1

这个就可以

如果我下载其他的版本分支,比如

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

总是提示没有网络,,我猜测是镜像站中可能没有所有aosp分支的资源。(后来发现git下载取消了,改为https下载就可以啦)

所以最后用了网盘中6.0的版本编译

二:编译环境配置

jdk版本要1.7++,一开始我的是1.6,在编译时报错断开,最后安装了openjdk-7-jdk,顺利编译。

Unbuntu用户的根目录下,然后依次执行以下命令:

sudo apt-get update

sudo apt-get install openjdk-7-jdk

sudo update-alternatives --config java

sudo update-alternatives --config javac

接下来继续执行以下命令,同样每一行都是分开单独执行的:

  sudo apt-get install git gnupg flex bison gperf build-essential

  sudo apt-get install zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev

  sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386

  sudo apt-get install libgl1-mesa-dev g++-multilib mingw32 tofrodos

  sudo apt-get install python-markdown libxml2-utils xsltproc zlib1g-dev:i386

  sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

  以上命令主要是安装编译源码时需要用到的各种软件,如果没有安装这些软件,编译的过程中会提示缺少必要的软件而无法继续编译,因此,在正式编译源码之前,一定要先安装这些软件。(直接摘抄,懒得打字)

三、编译android源码

  1. 切换到mydroid/目录下
  2. 在控制台中执行命令:source build/envsetup.sh  (导入编译Android源码所需的环境变量和其它参数)
  3. 在控制台中执行命令:lunch,运行命令之后会提示我们选择编译目标。
  4. 这里我选择的的默认目标,即aosp_arm_eng(也就是选择1)
  5. 在控制台中执行命令:make -j8,开始编译。注意,make -j8命令中的数字6和我8们电脑的CPU核心数以及线程数有关系,一般这个数字的数值最大不能超过CPU线程数的2倍
  6. 耐心等待,,,我的3个半小时左右
  7. 如果编译成功没有退出终端,在控制台中执行命令:emulator
  8. 如果退出了,那么在mydroid目录下,在执行步骤(2)(3),然后emulator即可

四、单个编译系统应用

使用mmm编译单个系统应用

  1. mmm packages/apps/Email/
  2. make snod
  3. emulator

就可以显示修改后的应用。

本文参考《在Ubuntu Server14.04上编译Android6.0源码》(前三个步骤)和《如何单独编译Android源代码中的模块 》(最后一个步骤)

历史上的今天:

本文地址: https://www.125la.com/26.html
关注我们:请关注一下我们站长微信:扫描二维码125啦读书导航的微信号,微信号:yudemi(十三少)
版权声明:本文为原创或转载文章,版权归原作者所有,欢迎分享本文,转载请保留出处!
第一个读书导航

发表评论


表情

  1. Android导航网址大全
    Android导航网址大全 【农民】 @回复

    链接失效可以看看这 http://pan.baidu.com/s/1ngsZs 网络大神分享的