当前位置:   article > 正文

Ubuntu 18.04下Android源码的下载及编译_linux18.0.4android源码下载编译

linux18.0.4android源码下载编译

如何使用VMware Workstation 16 Player安装ubuntu18.04请参考《使用VMware Workstation 16 Player安装ubuntu18.04

本文主要用于记录Android源码下载及编译的步骤和遇到的问题

安装git和repo并配置

安装git:

sudo apt-get install git
  • 1

配置git的user.name和user.email:

git config --global user.name "your name"
git config --global user.email "XXX@XXX.com"
  • 1
  • 2

配置repo:

git clone https://aosp.tuna.tsinghua.edu.cn/git-repo/
chmod a+x git-repo/repo
  • 1
  • 2

使用一下命令添加PATH环境变量

vim /etc/profile
  • 1

添加repo(路径目录如:~/git-repo/repo)到PATH环境变量

export PATH=~/git-repo:$PATH
  • 1

打开~/git-repo/repo文件,将REPO_URL替换为清华镜像地址,以避免下载android源码时可能出现的无法连接到 gerrit.googlesource.com问题

REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
  • 1

对于一些使用命令不熟悉的小伙伴说一说这一步的具体操作:

vim /git-repo/repo
  • 1

如果提示vim没有安装就根据提示安装即可:

sudo apt-get install vim
  • 1

repo文件中的内容还是挺多的,所以这里说一下vim中如何搜索并修改

在命令模式下:

  1. 输入 /REPO_URL 或者 ?REPO_URL

  2. 按下ESC

  3. 通过 N / n 搜索

  4. 找到需要修改的地方,按下 i 进入编辑模式修改后

  5. 按下ESC

  6. 输入 :wq 保存修改并退出

其中第三步的 N / n 分别为 向上查找向下查找

修改之后应为这样:

在这里插入图片描述

下载Android源码

创建一个存放源码的目录,比如我的放在~/Android/source路径下的,然后cd到对应的路径下执行下面命令

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
  • 1

执行如下命令可以查看可以下载的android源码分支,目前我看到的已经可以获取android-12.x的分支了

cd .repo/manifests.git/
git branch -a
  • 1
  • 2

这里同步android-12.0.0_r32分支并拉取对应分支源码

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-12.0.0_r32
repo sync
  • 1
  • 2

小插曲:这里有点记不住了,好像在sync的时候,会报请使用python2.X的一个错误,这里需要修改python的默认指向路径(默认是安装了python3.X的版本),不记得具体是哪里了,反正报这个错就按这个办法解决就行

修改python的默认版本(python2和python3切换)

将系统的默认python版本由python2修改为python3.(Python3修改为python2类似)

echo alias python=python3 >> ~/.bashrc
  • 1

同一个大的python版本号下修改小的版本。示例:python3的默认版本由3.5改为3.6

echo alias python3=python3.6 >> ~/.bashrc
  • 1

修改完了之后,更新以下!

source ~/.bashrc
  • 1

修改系统默认python的路径

删除原来的python链接文件

sudo rm /usr/bin/python
  • 1

建立新的python链接指向

#此处示例为:将python3.5建立为新的python链接指向
sudo ln -s /usr/bin/python3.5 /usr/bin/python
  • 1
  • 2

把路径/usr/bin/加入环境变量PATH中

PATH=/usr/bin:$PATH
  • 1

修改完成

然后就是漫长的等待过程,如果期间发生错误了,可以重新执行repo sync 命令即可,可能需要用上几个小时的时间

在这期间我们来配置Ubuntu 18.04编译环境

配置Ubuntu 18.04编译环境

配置java8

sudo apt-get install openjdk-8-jdk
sudo apt-get install openjdk-8-jre
  • 1
  • 2

使用 java -version 检查是否安装成功,需要有openjdk提示时

在这里插入图片描述

配置在ubantu 18.04中编译android源码需要的一些依赖,这些依赖包在ubantu 16.04中编译android源码时也是需要的

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
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 libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在安装 libesd0-dev (sudo apt-get install libesd0-dev) 会无法安装,解决办法:

sudo vim /etc/apt/sources.list 
//在行尾添加如下两行的内容
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
  • 1
  • 2
  • 3
  • 4

更新软件源并重新安装:

sudo apt-get update && sudo apt-get install libesd0-dev
  • 1

编译Android源码

cd到应的源码目路,初始化编译环境

. build/envsetup.sh
  • 1

通过lunch指令可以设置编译目标,所谓的编译目标就是生成的镜像要运行在什么样的设备上

lunch
  • 1

等待一会,输入我们需要编译目标的编号即可

最后,我们便可通过如下命令来开始编译andriod源码

make -j6
  • 1

这里的j6表示可以开启6个线程来参与编译源码,这里指定的线程数一般应该遵从cpu内核数的2倍这个规律,可以通过 cat /proc/cpuinfo 查看相关cpu信息

参考文章

Ubantu18.04环境下编译android源码

ubuntu18.04无法安装libesd0-dev【学习笔记】

【ubuntu】ubuntu修改python的默认指向路径

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/649168
推荐阅读
相关标签
  

闽ICP备14008679号