文章目录
- 依赖安装
- 编译error
- [error 01] java.lang.OutOfMemoryError
依赖安装
下面下载的操作请大家参看我的另一篇文章《基于ubuntu20.04使用国内镜像下载android-10.0.0_r39源码》
sudo apt-get install -y bison build-essential ccache curl dpkg-dev flex g++-multilib gcc-multilibsudo apt-get install -y gnupg gperf lib32ncurses5-dev lib32z-dev libc6-dev-i386 libesd0-dev libgl1-mesa-devsudo apt-get install -y libncurses5-dev:i386 libreadline6-dev:i386 libsdl1.2-dev libx11-dev libx11-dev:i386sudo apt-get install -y libxml2-utils m4 tofrodos unzip x11proto-core-devsudo apt-get install -y xsltproc zip zlib1g-dev zlib1g-dev:i386
一般安装
libesd0-dev
时会出现问题,其解决办法如下
解决办法:
sudo vim /etc/apt/sources.list //在行尾添加如下两行的内容
deb Android开发/ xenial main universe
deb-src Android开发/ xenial main universe
更新软件源并重新安装:
sudo apt-get update && sudo apt-get install libesd0-dev
看网上有很多编译依赖项安装,里面与一些重复包,这里一并剔除了……
代码下载完成后,并安装了相关依赖项,下面就开始编译吧,不过编译的时间有点长,需耐心等待啊。
编译error
在编译的过程中,我碰到了一个错误
[error 01] java.lang.OutOfMemoryError
其解决方法,就是调整java的heap空间,我是在
build/core/main.mk
文件中加入语句
export _JAVA_OPTIONS=\"-Xmx8g\" #增加heap到8G
编译
下面的编译就是固定步骤了,先进入代码目录执行如下指令:
source build/envsetup.shlunch#当然也可以直接使用,lunch 24, 即aosp_x86_64项目make -j4
编译完成后,会出现如下类似打印,这就说明编译完成了。
#### build completed successfully (02:34:50 (hh:mm:ss)) ####
启动emulator
编译完成后,先进入代码目录,执行如下
source build/envsetup.shlunch aosp_x86_64 #也就是我们上面编译的项目emulator