系统开发专用版 Android Studio 上手指南

准备工作

首先在 developer.android.com/studio/plat... 下载好 Android-Studio,目前仅支持 Ubuntu 系统。

下载好以后,使用以下命令安装:

bash 复制代码
sudo dpkg -i /你的下载路径/asfp-2023.1.1.19-linux.deb

在使用 Android Studio for Platform 之前需要有一份下载编译好的系统源码,具体可以参考AOSP极速上手

测试发现,Android Studio for Platform 不支持 android10 版本,我这里使用的是 aosp android12_r28 版本的源码。我使用的是 Cuttlefish 网页端的模拟器,不清楚的同学可以参考编完 aosp 还在刷机?云安卓了解一下,来试试网页版模拟器吧!

使用 Android Studio for Platform 打开系统模块

使用命令行打开 AS:

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

打开后点击 Import Asfp Project

接着我们在第一个箭头处选择好我们的源码路径,第二个箭头处填写编译源码时选择的 Product,然后点击第三个箭头处的加号,来添加我们需要修改的模块,可以有多个,这里我添加了 Settings 模块。第四个箭头处勾选后可以支持 native 代码。

最后点击 Finish,稍作等待就会打开 Settings 模块了。

使用 Android Studio for Platform 调试系统模块

首先我们打开模拟器,这里我使用的是 Cuttlefish,不清楚的同学可以参考编完 aosp 还在刷机?云安卓了解一下,来试试网页版模拟器吧!

bash 复制代码
# 源码目录下
source build/envsetup.sh
lunch aosp_cf_x86_64_phone-userdebug
# 开始编译
m
launch_cvd --start_webrtc=true

接着我们使用浏览器打开 https://localhost:8443 就可以看到我们的浏览器了。

接下来就可以配置调试环境了:

首先点击右上角调试按钮:

弹出配置窗口:

勾选 Show all processes,选择 Use default settings,Debug Type 选择 Java only(Settings 未涉及 native 代码),最下面的窗口选择 com.android.settings,然后点击确定。

接着我们在 Settings 的 SettingsHomepageActivity 主 Activity 中打上断点:

最后在虚拟机中打开 Settings App,我们的 Android Studio 就进入了 Debug 界面:

接下来就可以开始愉快的 debug 了!

总结

作为 Eclipse 时代过来的老人,Android Studio for Platform 整体上还是非常好用了,跳转代码,文件搜索和代码提示等常用功能体验都很好,而且使用上也比较简单,同时支持 Java kotlin 和 C++ 代码,这点不错。但是和 App 开发的体验还有不少差距,期待后面的更新吧!

相关推荐
执明wa29 分钟前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
404_coder1 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
二流小码农1 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
用户69371750013842 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端
GitLqr2 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
sg_knight2 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
爱笑鱼2 小时前
Binder(四):ioctl(BINDER_WRITE_READ) 之后,事务怎样到达目标进程?
android
AFinalStone3 小时前
Android 7系统休眠唤醒(二)开机全链路—BootROM到Launcher
android·电源管理·休眠唤醒
Mr YiRan3 小时前
Android NDK开发之统计到未被回收的图片
android
浮江雾4 小时前
Flutter第十七节-----路由管理(3)
android·开发语言·前端·javascript·flutter·入门