系统开发专用版 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 开发的体验还有不少差距,期待后面的更新吧!

相关推荐
wy3136228212 小时前
android——开发中的常见Bug汇总与解决方案(闪退)
android·bug
小小测试开发2 小时前
实战派SQL性能优化:从语法层面攻克项目中的性能瓶颈
android·sql·性能优化
QuantumLeap丶3 小时前
《Flutter全栈开发实战指南:从零到高级》- 26 -持续集成与部署
android·flutter·ios
StarShip5 小时前
从Activity.setContentView()开始
android
千里马学框架5 小时前
重学SurfaceFlinger之Layer显示区域bounds计算剖析
android·智能手机·sf·安卓framework开发·layer·surfaceflinger·车载开发
nono牛6 小时前
安卓休眠与唤醒流程
android
二流小码农7 小时前
鸿蒙开发:个人开发者如何使用华为账号登录
android·ios·harmonyos
StarShip7 小时前
Android View框架概览
android·计算机图形学
愤怒的代码7 小时前
解析Android内存分析的指标
android·app
summerkissyou19877 小时前
android-hardware/interfaces/automotive和hardware/libhardware/include/hardware区别
android