玩转Android Framework:使用Android Studio For Platform

本文将介绍如何安装并使用Android Studio For Platform

系统版本: Ubuntu 22.04 lts

AOSP分支: android-14.0.0_r28

什么是Android Studio For Platform

Android Studio For Platform,是一种用来方便我们进行AOSP开发的特殊版本Android Studio,他与普通的Android Studio其实没有太大差别,只是增加了对AOSP开发相关的一些支持。

为什么要使用Android Studio For Platform

在原来,我们调试自己开发的源码的主要手段,可能是通过生成ipr文件来导入到Android Studio中,然后再进行系统源码的调试,但是这样做很麻烦,所以Google为AOSP开发者提供了专门的开发工具来帮助我们的开发工作。

下载并安装Android Studio For Platform

这是Android Studio For Platform的官网:

developer.android.com/studio/plat...

下载完成之后,安装对应的Deb文件:

安装完成之后,运行:

bash 复制代码
cd /opt/android-studio-for-platform/bin
./studio.sh

然后就可以看到:

导入AOSP

首先我们点击:

进入如下界面:

Repo checkout,选择你的AOSP源码根目录。

Lunch target,选择你的lunch目标,比如模拟器的话就填写sdk_phone_x86_64

Module Path,选择你要调试的模块,比如调试frameworks模块的话,就添加选择frameworks。

Project name,填写你的项目名。

Location,这是你的Android Studio For Platform存储项目信息的路径。

最后如下:

点击确定,进入Android Studio For Platform。

注意,首次进入时需要做建立索引等一些工作,所以会比较慢,耐心等待即可。

调试AOSP

下面我们将介绍如何调试我们的AOSP代码,在调试之前,我们要先将我们的模拟器运行起来:

bash 复制代码
. build/envsetup.sh
lunch skd_phone_x86_64
make
emulator

运行起来之后,就可以开始下面的工作。

Attach Debugger

点击右上角的Attach Debugger To Android Process:

勾选Show all processes,然后选择Java Only,然后选择我们要attach的进程,比如我们的Setting:

当出现如下字样,说明我们的debugger已经attach完成了:

设置断点

找到我们需要打断点的类,比如我们最熟悉的/frameworks/base/core/java/android/app/Activity.java,找到我们的onResume方法,设置断点:

接下来打开我们模拟器的Setting应用,就可以看到我们已经进入我们的断点了:

相关推荐
_李小白2 小时前
【Android FrameWork】第二十四天:Activity生命周期是如何运行的
android
ytttr8732 小时前
基于C#的CAN总线数据解析BMS上位机
android·unity·c#
darryrzhong3 小时前
FluxImageLoader : 基于Coil3封装的 Android 图片加载库,旨在提供简单、高效且功能丰富的图片加载解决方案
android·github·android jetpack
pandarking4 小时前
[CTF]攻防世界:题目名称-warmup
android·web安全·网络安全
我命由我123454 小时前
Android 开发问题:在无法直接获取或者通过传递获取 Context 的地方如何获取 Context
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
惟恋惜4 小时前
Jetpack Compose之“副作用”的讲解
android
モンキー・D・小菜鸡儿6 小时前
Android14 新特性与适配指南
android·kotlin·安卓新特性
技术摆渡人6 小时前
Android系统技术探索(1)启动流程
android
介一安全9 小时前
【Frida Android】实战篇12:企业常用对称加密场景 Hook 教程
android·网络安全·逆向·安全性测试·frida
モンキー・D・小菜鸡儿9 小时前
Android15 新特性与适配指南
android·kotlin·安卓新特性