ASfP: 增强AOSP平台开发的利器——Android Studio for Platform

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 的入门指南:

  1. 安装 Repo 客户端:在开始使用 ASfP 之前,您需要安装 Repo 工具。您可以在 Google 的开发者文档中找到官方的安装说明。

  2. 初始化 Repo 检出分支:初始化 Repo 后,您需要指定要检出的 AOSP 分支。这个过程可以在 Google 的开发者文档中找到。

  3. 下载并安装 ASfP:您可以从官方网站上下载 ASfP 的适用于 Linux 的 .deb 安装程序,并通过以下命令进行安装:

sudo dpkg -i /path/to/asfp-2023.1.1.19-linux.deb
  1. 打开 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;

完成配置后,注意修改权限。快捷图标如下

  1. 导入项目:在启动 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为工程配置及数据保存位置

扫描二维码关注公众号,回复: 16807333 查看本文章

根目录下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快些。

猜你喜欢

转载自blog.csdn.net/u011897062/article/details/133065217
今日推荐