Android10源码的编译环境搭建

 

编译环境

Windows10,VMware15,Ubuntu20.04.1, 虚拟环境

笔记本,16G+1T, CPU 16 核心,I7八代(给虚拟机分配了300G的硬盘空间,8G内存,8处理器)

 

编译依赖库和工具下载

1、下载 git :

sudo apt-get install git
  • 下载git时,可能会报错,下载不了。首先,找到Software&Updates这个选项
  • Android10源码的编译环境搭建_第1张图片

    Android10源码的编译环境搭建_第2张图片

    这样应该就可以下载了。

2、安装jdk

sudo apt-get install openjdk-8-jdk

3、配置PATH环境变量

mkdir ~/bin
echo "PATH=~/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

4、安装curl库:

sudo apt-get install curl

5、下载repo并设置权限:

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

6、安装python :

sudo apt-get install python

下载源码

1、建立工程目录: 

mkdir source
cd source
mkdir android10
cd android10

2、使用tanna源

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

3、设置账户:

git config --global user.email "[email protected]"
git config --global user.name "xxxxx"

4、初始化仓库:

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

5、指定Android版本并初始化:

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

6、同步代码源

repo sync

漫长的等待后源码下载完成,若是中途卡在某个环节很久可以ctrl c/ctrl z中断,重新repo sync。

 

源码编译

1、安装依赖

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
sudo apt-get install libssl-dev

(1)当安装 sudo apt-get install libesd0-dev可能会报"Unable to locate package libesd0-dev"这个错,

解决办法:

sudo gedit /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

更新软件源并重新安装:

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

(2)当安装sudo apt-get install lib32ncurses5-dev可能报"lib32ncurses5-dev : Depends: libncurses5-dev (= 6.0+20160213-1ubuntu1)   Unable to correct problems, you have held broken packages."

解决办法:

sudo apt install aptitude

aptitude install lib32ncurses5-dev   //需要切换到root权限,然后会提示你是否保持当前版本,选n,再然后提示是否降级,选y

(给root用户设置密码: 命令:sudo passwd root 输入密码,并确认密码。

重新输入命令:su root 然后输入密码: 发现可以切换到root权限了,使用su xxx命令,切换到普通用户)

 

2、开始编译, launch后选择要编译的工程版本,输入序列号

source build/envsetup.sh
lunch 21  (X86版本)
make -j8

其中j8表示开8个线程来参与编译源码,这个数字一般满足cpu内核数*2,可以通过cat /proc/cpuinfo来查看相关的cpu信息

 

3、编译成功后(按上面操作一次性编译成功了)

source build/envsetup.sh   //若执行过,可以省略
lunch 21  (X86版本)           //若执行过,可以省略

emulator  //启动模拟器

 

你可能感兴趣的:(android,android源码,android,linux,ubuntu)