一、自己的镜像
下载aosp并编译,这里我的是aosp12,具体下载略。
编译,
xxx@ubuntu:~/projects/aosp-12$ source build/envsetup.sh
xxx@ubuntu:~/projects/aosp-12$ lunch sdk_x86_64
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=12
TARGET_PRODUCT=sdk_x86_64
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=x86_64
TARGET_ARCH_VARIANT=x86_64
TARGET_2ND_ARCH=x86
TARGET_2ND_ARCH_VARIANT=x86_64
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.15.0-76-generic-x86_64-Ubuntu-18.04.4-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=SP2A.220405.003
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish device/generic/goldfish-opengl hardware/google/camera hardware/google/camera/devices/EmulatedCamera device/generic/goldfish device/generic/goldfish-opengl
============================================
xxx@ubuntu:~/projects/aosp-12$ make
编译成功后,out\target\product\emulator_x86_64目录下可以看到编译结果。
二、android studio avd模拟器镜像替换
使用Android studio创建,模拟器,api级别选择一致。选择没有gms包的,abi与上面编译使用的abi一致。
我这里是31,android12,abi选择x86_64没有google api的镜像。选择创建。
创建后会下载镜像到sdk的目录下。
sdk目录\system-images\android-31\default\x86_64
将此目录下的内容全拷贝出来,备份用。然后将,上面自己编译的镜像复制过来。
包括所有的文件和data、system目录。
将system目录中的build.prop复制一份,到x86_64目录下。将vendor-qemu.img,system-qemu.img重命名为vendor.img ,system.img覆盖调原文件。
三、启动avd
使用cmd启动虚拟机。
最后启动avd虚拟机。就是加载自己镜像的模拟器。
emulator环境变量没配的配下。