码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • WSL2编译安卓11源码,,刷入pixel设备,并使用asfp查看源码


    目录

    • 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
    
    • 1

    驱动下载

    源码下载完成后需要下载对应手机的驱动,
    驱动下载: 驱动
    本博客使用的pixel3的手机,使用的是Android11下面的第一个驱动,下载的两个文件后放到源码根目录,执行解压即可。

    ./extract-qcom-blueline.sh(自行修改为手机对应驱动编译脚本文件)
    ./extract-google_devices-blueline.sh(自行修改为手机对应驱动编译脚本文件)
    
    • 1
    • 2

    编译

    编译这里看这一篇文章,之前编译的Android8,大同小异,注意lunch的时候要选择对应的版本。
    手机版本号查询
    Wsl编译安卓8.1

    刷机

    刷机前手机需要解锁oem和BL,解锁参考这里
    解锁
    解锁后我们进入fastboot界面,连接手机。由于wsl没法直接连接安卓手机进行调试,所以现在我们先配置环境变量。ANDROID_PRODUCT_OUT,这个变量在源码目录的out下面对应的产品目录,编译的镜像都在里头。
    请添加图片描述
    最后执行下面命令即可

    fastboot flashall -w 
    
    • 1

    少许等等,刷机即可成功。
    在这里插入图片描述

    源码导入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
    
    • 1

    wsl2下执行

    adb connect 192.*.*.*:5555
    
    • 1

    相当于用无线adb的形式进行调试了,不过问题也不大。略微麻烦几步,总体wsl2使用还是不错的目前。

  • 相关阅读:
    Flink(七)【输出算子(Sink)】
    【C语言经典例题】——程序员必须会的经典基础例题(三)
    5个顶级的Blender生成式AI插件
    在线免费语音克隆工具,1分钟,复制你的声音
    QMetaObject::invokeMethod与QThreadPool线程池使用
    ubuntu20.04官方安装I219-V驱动
    如何使用python快速修改Excel表单中的大量数据
    口袋参谋:找关键词的三种方法!
    Pandas数据分析29——faker构建虚拟数据集
    快递鸟顺丰、申通物流查询类通用接口文档
  • 原文地址:https://blog.csdn.net/a568478312/article/details/133323486
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号