VMware虚拟机Ubuntu1804编译Android 10.0

 

系统

windows系统下VMware Workstation 15 Pro虚拟机装的Ubuntu1804  64位

 

Android版本

Android-10.0.0_r26

 

代码下载

参考android网站

https://source.android.google.cn/setup/build/downloading?hl=zh-cn

 

VMware虚拟机Ubuntu1804编译Android 10.0_第1张图片

 

VMware虚拟机Ubuntu1804编译Android 10.0_第2张图片

 

使用 -b 指定要下载的分支

repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r26

 

VMware虚拟机Ubuntu1804编译Android 10.0_第3张图片

下载代码需要能,不能请改用清华的源

编译

安装必要的依赖库及软件

https://source.android.google.cn/setup/build/initializing?hl=zh-cn

安装jdk8,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 libgl1-mesa-dev libxml2-utils xsltproc unzip   

 

设置编译环境

. build/envsetup.sh

 

用lunch命令选择要编译target

VMware虚拟机Ubuntu1804编译Android 10.0_第4张图片

 

给对应target的配置文件加上音频相关设置

VMware虚拟机Ubuntu1804编译Android 10.0_第5张图片

如果不加这个宏,编译过程中会出错。

 

编译命令m

  • m - 从树的顶部运行编译版本。这很有用,因为您可以在子目录中运行 make。如果您设置了 TOP 环境变量,它便会使用此变量。如果您未设置此变量,它便会从当前目录中查找相应的树,以尝试找到树的顶层。您可以通过运行不包含参数的 m 来编译整个源代码树,也可以通过指定相应名称来编译特定目标。
  • mma - 编译当前目录中的所有模块及其依赖项。
  • mmma - 编译提供的目录中的所有模块及其依赖项。

 

运行

打开虚拟机硬件加速

VMware虚拟机Ubuntu1804编译Android 10.0_第6张图片

否则找不到KVM

安装模拟器Qemu

VMware虚拟机Ubuntu1804编译Android 10.0_第7张图片

注:android10.0不支持 mini target了。

我测试这个模拟器跑不起来。

换成可以,但要把模拟器图形加速换成swiftshader,否则启动黑屏。

启动命令为 emulator -gpu swiftshader_indirect

 

也可以在模拟器设置里把图形加速设置成SwiftShader,如下图

VMware虚拟机Ubuntu1804编译Android 10.0_第8张图片

设置好以后,可以直接用emulator命令启动。

 

调试

用后台方式启动模拟器:

emulator &

进入aosp内linux系统

 adb -s device-name shell

VMware虚拟机Ubuntu1804编译Android 10.0_第9张图片

 

查看日志

adb -s device-name logcat

在我的机器上是:adb -s emulator-5554 logcat

你可能感兴趣的:(aosp,android,vmware)