Ahao's Technical Blog Ahao's Technical Blog
首页
  • 001.基础篇
  • 002.玩转AOSP篇
  • 003.学穿Binder篇
  • 004.基础组件篇
  • 005.系统启动过程分析
  • 006.Hal开发入门与实践
  • 007.显示系统
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

阿豪讲Framework

不积跬步无以至千里
首页
  • 001.基础篇
  • 002.玩转AOSP篇
  • 003.学穿Binder篇
  • 004.基础组件篇
  • 005.系统启动过程分析
  • 006.Hal开发入门与实践
  • 007.显示系统
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础篇

  • 玩转AOSP篇

    • 001.AOSP 极速上手
    • 002.Android 系统开发工具推荐
    • 003.添加 Product
    • 004.添加可执行程序
    • 005.添加 C/C++、Java 库
    • 006.添加配置文件与删除已有模块
    • 007.玩转 AOSP 之系统 App 源码添加
    • 008.使用 Android Studio 开发系统 App
    • 009.SeAndroid 使用极速上手
    • 010.添加开机自启动 Shell 脚本
    • 011.如何阅读 Android 系统源码 —— C/C++ 篇
    • 012.如何阅读 Android 系统源码 —— Java 篇
    • 013.系统开发专用版 Android Studio 上手指南
    • 014.Repo 使用入门
    • 015.Android14 Native 图形化调试上手
    • 016.2025 Android Studio For Platform 上手指南
      • 准备工作
      • 使用 Android Studio For Platform 打开系统模块
      • 使用 Android Studio For Platform 调试 Java 代码
      • 使用 Android Studio For Platform 调试 Native 代码
      • 运行测试代码
  • 学穿Binder篇

  • 基础组件篇

  • 系统启动过程分析

  • Hal开发入门与实践

  • 显示系统

  • Framework
  • 玩转AOSP篇
阿豪
2025-03-01
目录

016.2025 Android Studio For Platform 上手指南

# 2025 年的 Android Studio For Platform 上手指南

在 2023-09-12 ASFP 上线官网的当天,我立马写了一份上手指南 (opens new window),2025 年的今天,ASFP 已经更新了多个版本,在功能性和易用性上有了大幅提升。今天我们再探一次全新版本 ASFP(爱上富婆)。

开始之前,需要明确使用的开发环境是 Ubuntu2204

# 准备工作

首先在 https://developer.android.com/studio/platform 下载好安装包,目前仅支持 Ubuntu 系统,我使用的是 Ubuntu2204 版本。接着就可以开始安装 ASFP 了:

sudo dpkg -i /你的下载路径/asfp-Ladybug\ Feature\ Drop-2024.2.2.13-linux.deb
1

使用 ASFP 前,我们需要一套编译好的系统源码并刷机到手机中,这里我们演示的是 aosp android-14.0.0_r15 + pixel6

首先我们需要下载源码:

repo init https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-14.0.0_r15
repo sync
1
2

接着下载驱动:

打开 https://source.android.com/docs/setup/reference/build-numbers 这个链接,注意右上角调整为英文,不然显示的信息不全。

20240624101950

在网页中找到我们下载的版本信息 android-14.0.0_r15.

20240624102020

记录好最前面的这一串字符 UP1A.231105.003.A1

接着打开链接 https://developers.google.cn/android/drivers?hl=zh-cn,在网页中搜索 UP1A.231105.003.A1:

找到 pixel6:

20240624102253

点解 link 下载(需要梯子)。

下载完解压以后,会有 shell 脚本文件,我们把脚本文件放到系统源码根目录下执行即可。

20240624102939

接着就可以开始编译系统了

source build/envsetup.sh
#lunch aosp_oriole-userdebug
lunch aosp_oriole-eng
m
1
2
3
4

接着就是刷机:

# 进入 BootLoader
adb reboot bootloader
# 解锁 BL,已经解锁过的,直接跳过
fastboot flashing unlock
# 这个时候手机上会有选项,根据说明按下音量键切换到允许unlock,再按电源键确认即可。
1
2
3
4
5

开始刷机:

fastboot flashall -w
# -w会清除data分区,如果不想的话也可以不加-w选项
1
2

这样我们的准备工作就完成了

# 使用 Android Studio For Platform 打开系统模块

使用命令行打开 AS:

/opt/android-studio-for-platform/bin/studio.sh
1

打开后点击 New:

20250319230026

选择好源码路径然后点击 Next:

20250319230427

依次:

  • 填写我们编译源码时选择的 Product,aosp_oriole-userdebug
  • 选择我们需要查看的模块的路径
  • 勾选 include native files,选择 all sources
  • 最后填写一个合适的 Project Name 和 Location

20250320103026

最后点击 Finish,这样我们打开了 fframeworks 和 Launcher3 两个模块了

# 使用 Android Studio For Platform 调试 Java 代码

Android14 中调试 Java 代码,如果编译的不是 eng 版本,需要设置下面的属性值:

adb shell setprop persist.debug.dalvik.vm.jdwp.enabled 1
adb reboot
1
2

假设我们要调试 Launcher 进程中的 Choreographer.doFrame 方法:

先下断点:

/frameworks/base/core/java/android/view/Choreographer.java
1

20250319232725

接着我们在开发者选项中打开 USB 调试选项,然后同意 USB 线将手机与 PC 连接。

然后选择需要调试的进程:

20250319231402

20250320080759

选择好 launcher3 进程,然后点击 Attach,就进入了 debug 状态。

接着滑动 Launcher 界面,就进入单步调试状态了:

20250320094713

部分系统进程可能有不能调试或者无法debug到正确行数的问题:

export SYSTEMUI_OPTIMIZE_JAVA=false
export SYSTEM_OPTIMIZE_JAVA=false
# 重新编译源码
source build/envsetup.sh
lunch aosp_oriole-userdebug
m
1
2
3
4
5
6

接着再重新刷机,即可解决问题。

# 使用 Android Studio For Platform 调试 Native 代码

执行 adb root 操作

新建一个调试配置

20250320104055

20250320104123

20250320104151

20250320104400

# 运行测试代码

015.Android14 Native 图形化调试上手
000.Binder 专题导学 —— 如何深入掌握 Binder

← 015.Android14 Native 图形化调试上手 000.Binder 专题导学 —— 如何深入掌握 Binder→

最近更新
01
如何调试 SurfaceFlinger
10-05
02
SurfaceFlinger 概述
10-05
03
HWC 接口分析
10-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 AHao Framework | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式