ASfP: 增强AOSP平台开发的利器——Android Studio for Platform
Android Studio for Platform (ASfP) 是一个为使用 Soong 构建系统构建的 Android 开源项目(AOSP)平台开发者而设计的 Android Studio IDE 版本。与标准 Android Studio 不同,ASfP 具有多语言支持,可以在同一 IDE 中编写 C++、Kotlin 和 Java 程序语言,并且具有项目设置向导和配置 lunch 目标和平台模块等功能。
asfp安装配置
如果您是 AOSP 平台开发者并且需要进行大量的 C++ 编程工作,那么 ASfP 可能是您的首选开发环境。以下是一些使用 ASfP 的入门指南:
-
安装 Repo 客户端:在开始使用 ASfP 之前,您需要安装 Repo 工具。您可以在 Google 的开发者文档中找到官方的安装说明。
-
初始化 Repo 检出分支:初始化 Repo 后,您需要指定要检出的 AOSP 分支。这个过程可以在 Google 的开发者文档中找到。
-
下载并安装 ASfP:您可以从官方网站上下载 ASfP 的适用于 Linux 的 .deb 安装程序,并通过以下命令进行安装:
sudo dpkg -i /path/to/asfp-2023.1.1.19-linux.deb
- 打开 ASfP:通过在终端中切换到 ASfP 的 bin 目录,并运行 studio.sh 命令来启动 ASfP:
/opt/android-studio-for-platform/bin/studio.sh
配置快捷图标
使用.sh
启动总是不很方便,那么配置一个快捷图标就方便多了
新建asfp.desktop
文件,配置如下:
[Desktop Entry]
Encoding=UTF-8
Name=AndroidStudio
Comment=AndroidStudio
Exec=/home/cl/soft/asfp/bin/studio.sh
Icon=/home/cl/soft/asfp/bin/studio.svg
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;
完成配置后,注意修改权限。快捷图标如下
- 导入项目:在启动 ASfP 后,您需要指向 Repo 检出目录,并配置 lunch 目标和要构建的模块。这将确保您可以正确地编译和构建您的项目。
ASfP 支持多种语言和平台,可以让开发者更轻松地在同一开发环境中进行多种编程任务。如果您是 AOSP 平台开发人员,ASfP 可以帮助您更快地迭代和测试代码,并让您更加高效地开发 Android 应用程序。现在,您可以尝试使用 ASfP 来提高您的 Android 平台开发效率了!
配置结构
导入AOSP工程,从File->Import Asfp Project可导入AOSP工程
Repo checkout为AOSP根目录
Lunch target为需要启动的目标,也就是我们通过lunch命令启动的项目列表中的选项
Module paths为需要调试的模块,例如framework、Settings等
Project name为工程名称
Location为工程配置及数据保存位置
根目录下asfp-config.json
为项目全局配置
{"repoRoot" : "/home/cl/Code_extend/aosp","modulePaths" : ["frameworks","packages/apps/Settings","system/extras/su"],"lunchTarget" : "gxx5-userdebug","nativeConfig" : {"excludePaths" : [ ],"excludeGenPaths" : ["*"]}
}
工程不仅可以导入Java/kotlin工程,也可以导入C++工程
如下作者导入了system/extras/su模块
支持代码高亮,有些头文件没法直接跳转是因为引入了其他模块,所以需要增加所引入模块的导入
在Project Structure中可动态增减模块
Soong编译过程输出窗口
修改模块后执行Asfp->Sync soong project
后,soong窗口会重新执行编译,idea命令支持还是差一些,编译也慢,不如直接在shell窗口执行mm命令或者ninja快些。