欢迎光临
我们一直在努力

Android 源码编译步骤实录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

新公司入职,领了新的Linux电脑,身为一名光荣的Android开发者,电脑上Android源码肯定得有一套的,所以借此契机,整理一套Android源码下载与编译基本流程。当然Google官方已经整理得很详细了,详参Google开发者流程。废话不多说,直接开干

系统:Ubuntu18.04 LTS

1.备份并替换默认源文件

一名合格的程序员都会为自己留一条后路,记得备份原本的默认源文件:Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用清华源的软件源镜像。

 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse     

文件内容替换完成后Update一下

sudo apt-get update 

1、repo下载安装

mkdir ~/bin PATH=~/bin:$PATH curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo chmod a+x ~/bin/repo 

repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新(推荐),可以将如下内容复制到你的~/.bashrc

2、git安装

sudo apt-get install git 

配置自己Git用户名和邮箱

git config --global user.name "your_name" git config --global user.email "your_email" 

3、python3安装

注:源码下载需要python3版本支持

sudo apt-get install python3 

创建源码本地保存路径

mkdir AOSP cd AOSP 

初始化代码仓库

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-security-9.0.0_r76 

同步源码树(以后只需执行这条命令来同步)

repo sync -c -d --no-tag 

接下来等待源码下载完成就可以啦(这个过程很漫长)
注:如果在初始化代码仓库的时候报SSL协议的CA证书问题,就把上面所有https的地址换成http就好,然后把代码仓库里的.repo文件夹删除,再初始化。当然这是最暴力的手段,官方还是推荐使用https协议下载源码的,安全!!!

1、编译环境准备

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig 

如果存在部分安装失败,可以尝试将镜像源文件里的注释给解开,update后再试。或者运行sudo apt-get install -f自动卸载未安装的软件。
这是Ubuntu18.04的环境,官方也给出了其他Ubuntu版本的环境安装命令。
Ubuntu14.04:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip 

Ubuntu12.04:

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-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos 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 

Ubuntu10.04-11.10:

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc 

在 Ubuntu 10.10 中,请运行以下命令:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so 

在 Ubuntu 11.10 中,请运行以下命令:

sudo apt-get install libx11-dev:i386 

2、python2安装

注:这里比较坑的是,源码下载要用python3,源码编译要用python2(裂开)

sudo apt-get install python2.7 

安装完之后得配置一下python版本的优先级

 cd /usr/bin/  ll | grep python  sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 150 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100  python --version  

3、开始编译

进入本地代码路径

cd AOSP  make clobber  source build/evnsetup.sh lunch  1  make -j8 

理想情况下几个小时后就收到编译成功的通知了~

单编的话就进入到子模块目录(带Android.mk文件目录)下mm -j8就好

文章只是整理了部分步骤,还有很多的不足,请谅解

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Android 源码编译步骤实录》
文章链接:https://www.456zj.com/23840.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址