ASfP: 增强AOSP平台开发的利器——Android Studio for Platform
2023-11-17 06:28:18 Author: 哆啦安全(查看原文) 阅读量:73 收藏

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

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

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

sudo dpkg -/path/to/asfp-2023.1.1.19-linux.deb
  1. 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. 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为工程配置及数据保存位置

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


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NzUzNzk1Mw==&mid=2247496473&idx=1&sn=efbddeea95286b50e98a5f1749d5dc93&chksm=ceb8b657f9cf3f41072f54764a852a89e1931c751c074d45c3953fc2579a5b48c3f8a30584ad&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh