Ubuntu下载编译android7.0源码教程从安装到编译

Ubuntu下载编译安卓源码

踩坑指南:

    一定要使用 Ubuntu或者MAC ,至少官方推荐是这样的。Liunx中是 Ubuntu14.04 较好,其他的版本也行。其他Liunx开发版不是不可以,只是错误需要自己排除,大神随意,有时间研究请随意。
我使用的是16.04,编译下载的分支是android7.0.0_r33,之前也用了manjaro、deepin玩玩,但是在Ubuntu上是最顺畅的,基本上没什么错误,可以说是傻瓜式安装编译。

    内存一定要大。最好是200G以上,不然可能源码都下不完,下载编译最少150G,越多越好。

    网络一定要好,不能断网。虽然说repo可以断点续传,但是也有人说会下载一系列不需要的压缩包,总之不能踩坑。

本文内容:

  1. Ubuntu 安装
  2. 下载源码
  3. 编译

Ubuntu 安装

系统安装

  1. 双系统

    找到了网络上几篇比较好的文章,可以对照着进行双系统安装。

    (1)比较全面的文章: windows10安装ubuntu双系统教程(绝对史上最详细).注:本文使用的图片较多是网上搜集的,需要自己甄别。

    (2)我参照的相关文章:手把手教你安装win10+Ubuntu16.04的双系统(全网最详细).(公众号:小詹学Python的一篇微信文章,由于微信链接会过期,右键手动搜索)。

    本文的重点:

        上面两篇文章讲解的非常详细,我就不多做赘述,分区还是多多注意。重点还是分区,千万不能选错,一定要选择其他,不然win很有可能格式化,十分重要!!!!!

        我只分了5个:/,/boot,efi,swap,/home

        上面文章只是我的推荐和参考,安装系统还是多搜索一些教程,避免踩坑!!当然有博客有坑,慎入。

        双系统双硬盘分区示例(仅作参考,摘自手把手教你安装win10+Ubuntu16.04的双系统(全网最详细)):
  1. 单系统:电脑只安装Ubuntu
    请随意浪!

基础设置

安装之后一些基本的设置,当然这一步可以跳过:

  1. 不嫌麻烦先跑一遍
sudo apt upgrade
sudo apt update
  1. 一些基础的设置、语言之类:略(滑稽)

        注(重要):更换官方源=》设置->软件和更新->选择清华源、中科大、阿里均可
#再来麻烦一遍
sudo apt upgrade
sudo apt update

    不更换的话,下载速度超级慢,最好是先更换源,直接省略第一步。

3. 升级python,源码下载需要使用python3.6+,Ubuntu 16.04自带3.5,先升级。源码下载编译:在Ubuntu 16.04.6 LTS上升级python 3.5到3.7.3. 现有教程不再赘述。

比较坑的是编译需要一段时间的test,大概半个小时左右的时间。

4. 安装配置git

这一步比较简单:

#再来麻烦一遍
sudo apt-get install git
git config --global user.email "1234567890@qq.com"
git config --global user.name "name"
git config -l
  1. 安装JDK

        源码的编译对于JDK版本有要求,Android5以上使用openJDK,之前版本使用Oracle JDK。具体见表1。可以在此查询
Android版本编译要求的JDK版本
AOSP的Android主线OpenJDK 8
Android 5.xandroid 6.0 OpenJDK 7
Android 2.3.xAndroid 4.4.x Oracle JDK 6
Android 1.5Android 2.2.x Oracle JDK 5

    本文编译的是Android7.0版本,需要安装OpenJDK8.

sudo apt-get install openjdk-8-jdk

    安装过程中可能会让你添加一些依赖,确认即可。

源码下载

    最坑也是最浪费时间的一部分来了,这一部分需要使用非常非常多的内存,重装Ubuntu 也是这个原因,之前的deepin大概分了90G,结果,你懂得!
此次分300G,用于征战下载编译过程。

  1. 搭建编译环境
    官方网站编译的描述十分详细,尽量还是一步步照着来。

    大概分两个步骤:

    (1) jdk安装。已完成

    (3)USB和输出配置,详见链接喽!

    (2)依赖项目:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
  1. 下载源代码
        官方源代码仓库以及下载方式,官方的比较慢,国内还是需要使用镜像源,常用清华源、中科大等等,我之前下载都是使用清华源,一直出现git错误,文件下载不完整,看到官网有维护,不知道是不是这个原因,偶然间看到清华源官网推荐的北外源,同样是TUNA维护,稳定性应该还行,准备测试一波,上北外首页链接,然后是AOSP链接。首选自然还是清华,至于原因……

        帮助比较详细,只要网络好几乎是傻瓜式下载,当然前提是你的硬盘足够大。

        注意:repo的时候只有一个.repo的隐藏文件,下载完成之后会自动释放出art,frame,……,如果不需要应该可以删除,只不过不能repo sync同步了。
        可选:中科大镜像
repo结束是这个样子(下载了100G,我吐了,幸亏是晚上下载的)

在这里插入图片描述
    当你再去执行

repo sync

    不会重新下载,只进行同步检查,当然你要是把.repo文件夹删了,怎么样咱也不清楚,不想再来一晚上。

源码编译

    首先,毫无疑问,自然是官方网站教程,真机调试烧录镜像可能需要驱动,我没这个需求,所以没下下载,下载方式很简单,进入上面的官方网站,找到驱动下载页,下载相应分支的版本的驱动进行安装,最好不要下错。

    下错了没关系,你可以手动删除!(文字滑稽)

    编译也是傻瓜式:

(1)初始化环境

source build/envsetup.sh

(2)选择设备:输入命令,根据提示选择相应的设备,设备类型有3:

#命令后直接输入你需要版本的数字
lunch
编译类型使用情况
user权限受限;适用于生产环境
userdebug与“user”类似,但具有 root 权限和可调试性;是进行调试时的首选编译类型
eng具有额外调试工具的开发配置

(3)开始编译

#j后面数字为线程数,谨慎填写
make -j4
接下来就是非常漫长的等待

    编译过程中可能出现一些错误,可以谷歌/百度解决,应该问题不大。

最后结果是……(到此刻,我将近200多G的内存感觉已经见底了)

在这里插入图片描述

到此刻,我将近200多G的内存感觉已经见底了,(夸张,大概也就是150G左右),一共编译两个小时,至于什么效果,能不能用……先去测试一波。

有疑问欢迎留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值