在使用Google官方的AVD调试的时候会出现行号不对应的情况,导致无法进行代码逻辑分析。目前我自己的解决方案就是编译AOSP的镜像,然后替换到AVD里面,这样调试就会好很多。
以Android12L为例,具体步骤如下:
1、下载AOSP代码
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r1
repo sync -j8 -c –no-tags
-c:只拉取指定分支。
–no-tags:不获取tags,Google官方文档说是默认带了,但是好像没有,需要加上去。
这两个主要作用是减少代码拉取量,减少文件夹大小。
2、编译x86_64镜像,应该是适用于所以的Android版本,我在Android11、Android12、Android12L上面测试是没有什么问题的
source build/envsetup.sh && lunch sdk_phone_x86_64-userdebug && make -j6
3、创建官方Android12L虚拟机
5、复制编译好的相关文件到android-32-customer\google_apis\x86_64\目录下,详细文件如下:
6、复制一份虚拟机配置
8、启动虚拟机。我测试的是不能使用Wipe Data功能,并且要使用Cold Boot Now启动镜像
启动后的如下,但是没有Google全家桶,而且使用起来还比较流畅。