目录
- WSL2编译安卓11源码,,刷入pixel设备
- 源码下载
- 驱动下载
- 编译
- 刷机
- 源码导入Android Studio for platform
- ADB调试
WSL2编译安卓11源码,,刷入pixel设备
aosp编译完成后,刷入手机其实非常简单,但是使用wsl有一个问题,就是Android设备没法直接链接到wsl进行adb调试。下面我会介绍我刷机碰到一些问题,以及google官方发布的asfp版本来进行源码查看。
源码下载
源码使用repo的清华源进行同步,这个可以看这里。推荐使用初始包进行同步,60G大小的zip,解压后再进行sync会快很多。
参考链接: 清华源
本博客使用的版本事Android-11.0.0_R1,也就是init的使用如下命令。
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-11.0.0_r1
驱动下载
源码下载完成后需要下载对应手机的驱动,
驱动下载: 驱动
本博客使用的pixel3的手机,使用的是Android11下面的第一个驱动,下载的两个文件后放到源码根目录,执行解压即可。
./extract-qcom-blueline.sh(自行修改为手机对应驱动编译脚本文件)
./extract-google_devices-blueline.sh(自行修改为手机对应驱动编译脚本文件)
编译
编译这里看这一篇文章,之前编译的Android8,大同小异,注意lunch的时候要选择对应的版本。
手机版本号查询
Wsl编译安卓8.1
刷机
刷机前手机需要解锁oem和BL,解锁参考这里
解锁
解锁后我们进入fastboot界面,连接手机。由于wsl没法直接连接安卓手机进行调试,所以现在我们先配置环境变量。ANDROID_PRODUCT_OUT,这个变量在源码目录的out下面对应的产品目录,编译的镜像都在里头。
最后执行下面命令即可
fastboot flashall -w
少许等等,刷机即可成功。
源码导入Android Studio for platform
之前我们都是Android Studio来进行java代码导入查看,java代码跳转基本正常,且可以断点。但是native代码在AS中完全无法查看,然后就使用了vscode等勉强能用的辅助工具,现在终于退出native代码查看的神兵利器了。
asfp下载与使用
使用起来是很简单的,但是只有Linux可以使用,然后我这边实测,如果要同步成功需要Android 11以及以上版本,Android10按照官方视频去导入,无法正确链接跳转native代码,缺少了一个go文件,但是我目前也不清楚要如何解决。
记得把UI调成经典模式,导入你自己AS的配置,这样基本无缝使用。
可以看到c代码完全无爆红,跳转丝滑。
ADB调试
WSL2使用官方的usb方案也无法链接Android手机,只要开启usb调试就无法连接上了。目前如果要adb调试的话,只能用adb connect的形式。这里也给出方法把。
连接上手机
windows下执行
adb tcpip 5555
wsl2下执行
adb connect 192.*.*.*:5555
相当于用无线adb的形式进行调试了,不过问题也不大。略微麻烦几步,总体wsl2使用还是不错的目前。