Ubuntu16.04下载及编译Android源码

我用的谷歌的安卓源码,以此记录下经历,尝试过使用清华源的,但是同步时有些莫名其妙的错误。很烦。(其实一开始用谷歌也很烦恼,因为对官方的文档看得不是很懂)

官方那个文档:

https://source.android.com/setup/initializing

https://source.android.com/setup/downloading

准备:

1.最好是更新下源吧,因为有很多工具包要下载

2.Ubuntu环境下F___Q(你懂得)


开始吧

一、编译的软硬件环境需求

安装 JDK

sudo apt-get update
sudo apt-get install openjdk-8-jdk

安装所需的程序包

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

这是对应14.04的程序包,保险起见再运行下这个吧:

sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib 
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential  
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib 
sudo apt-get install libc6-dev-i386 
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev 
sudo apt-get install lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

参考的https://blog.csdn.net/fuchaosz/article/details/51487585

至此环境就弄完了。

二、下载源代码

重点,就是这里非常烦。不管是换成国内的源还是F__Q总在init的时候出问题,要么就是Network Unreachable,要么就是Connect time out简直头大。百度半天也解决不来。

Installing Repo

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Initializing a Repo client

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

这里的邮箱账号要是你注册过的Google邮箱,后面会用到的

我推荐你直接使用这个链接初始化(在这之前先进行using Authentication,还有设置代理)

repo init -u https://android.googlesource.com/a/platform/manifest

Using Authentication

浏览器打开这个网址

https://android.googlesource.com/new-password

Ubuntu16.04下载及编译Android源码_第1张图片

确定,出现


Ubuntu16.04下载及编译Android源码_第2张图片

把下面的那些命令直接复制粘贴到你的终端执行一遍。

然后就有权限了。

是不是就可以初始化了呢,不行,还需要设置代理(因为我是通过代理F__Q的)

Ubuntu16.04下载及编译Android源码_第3张图片

这是官方上的,一开始我也看不懂呢,这咋设呀。这就跟我之前配的信息有关了,见我的另一篇博客https://blog.csdn.net/qq_28449863/article/details/79978822

来源于那个

所以我在export https_proxy="http://127.0.0.1:8123/" 因为那个痛是

https://gerrit.googlesource.com/git-repo/clone.bundle

https协议的。

做到这里应该是没有问题的了。(我是没问题了)

然后就是初始化了

repo init -u https://android.googlesource.com/a/platform/manifest

想选择分支啥的你自己考虑去吧。就不多做叙述

让其慢慢的初始化吧

然后就是同步了

rync -j4  (同步的时候有些404,忽略)

正常情况下应该是一次就能同步成功的。接下来就轻松了。按着官网一步一步来即可

Clean up(清楚之前编译产生的文件,第一次编译可省去)

To ensure the newly installed binaries are properly taken into account after being extracted, delete the existing output of any previous build using:

make clobber

Set up environment

source build/envsetup.sh
lunch aosp_arm-eng
make -j4
这就开始编译了,需要挺久的(编译有很多警告,忽略)慢慢等待吧

Run it!等待编译成功(就可以运行了)

 
  
emulator

之后会有一个安卓模拟器出现(就好像AndroidStudio里的ADT)

至此应该算是编译安卓源码成功了!

长叹一口气。。。。。。。(终于成了)

你可能感兴趣的:(Linux,Ubuntu,Android)