aidegen:为AOSP代码中Java和C / C ++项目自动生成ide配置
aosp中模块众多,依赖复杂,如何快速完成ide配置,从而能愉快地在ide中进行代码的导航和跳转是我们需要解决的问题,好在google给我们提供了一款好用的ide配置生成工具,能快速地生成Java和C/C++项目的ide配置文件,对于Java项目,能生成.idea
文件,对于C、C++项目能快速生成cmake
文件。
注意:
.idea
文件夹在项目当前目录下
cmakeList
文件在out/development/ide/clion/目录下
AIDEGen是一个命令行工具,旨在为在Android Studio、IntelliJ IDEA、Eclipse、CLion和VS Code等流行的IDE环境中开发Java或C / C ++项目的开发人员自动化项目设置过程。使用AIDEGen,开发人员无需手动配置项目文件和依赖项,节省了宝贵的时间和精力。
主要功能
-
配置Android Studio或IntelliJ项目文件:AIDEGen自动解析相关的模块依赖项,并为Android Studio或IntelliJ IDEA配置项目文件。
-
为特定子项目或构建目标启动IDE:开发人员可以直接为指定的子项目或构建目标(例如frameworks/base或Settings)启动IDE。
-
为指定的文件夹启动IDE:AIDEGen还允许开发人员为包含构建目标的指定文件夹(如cts)启动IDE。
-
自动配置JDK和Android代码风格:AIDEGen负责为IntelliJ配置JDK和Android代码风格,确保统一的开发环境。
先决条件
在使用AIDEGen之前,开发人员需要安装他们喜欢的IDE,例如Android Studio、IntelliJ IDEA、Eclipse、CLion或VS Code。此外,他们应该通过运行以下命令设置Android开发环境:
$ source build/envsetup.sh && lunch <TARGET>
基本用法
AIDEGen提供各种用法示例以适应不同的项目设置:
示例1:使用模块名称启动IDE
要为“framework”和“Settings”模块生成并启动IntelliJ项目,请使用以下命令:
$ aidegen Settings framework
示例2:使用模块路径启动IDE
如果您更喜欢指定模块路径,请使用此命令:
$ aidegen packages/apps/Settings frameworks/base
示例3:跳过构建并启动IDE
要在跳过构建时间的情况下生成并启动“framework”和“Settings”的IntelliJ项目,请添加“-s”选项:
$ aidegen Settings framework -s
示例4:使用本机模块启动IDE
对于本机模块,AIDEGen支持生成并启动CLion项目。请使用以下命令:
$ aidegen <module> -i c
在CLion中启动本地项目时,选择“工具>CMake>更改项目根目录”,并将项目根目录设置为CLion项目视图中显示的源目录。例如,如果您的项目位于frameworks/base/media,将项目根目录更改为frameworks/base/media。
示例5: 生成SystemUI idea配置文件并启动IDE
aidegen frameworks/base/packages/SystemUI -i s -p /home/cl/.local/share/JetBrains/Toolbox/apps/android-studio-2/bin
示例6 :生成framework/jni cmake配置并启动IDE
aidegen frameworks/base/core/jni -i c -p /home/cl/.local/share/JetBrains/Toolbox/apps/clion/bin
可选参数
开发人员还可以利用可选参数根据自己的需求来自定义AIDEGen命令。这些可选参数包括:
选项 | 长选项 | 描述 |
---|---|---|
-d | --depth | 源引用的模块深度。 |
-i | --ide | 启动IDE类型:j=IntelliJ s=Android Studio e=Eclipse c=CLion v=VS Code |
-p | --ide-path | 指定用户的IDE安装路径。 |
-n | --no_launch | 不启动IDE。 |
-r | --config-reset | 重置所有AIDEGen的保存配置。 |
-s | --skip-build | 跳过构建jars或模块。 |
-v | --verbose | 显示DEBUG级别日志记录。 |
-a | --android-tree | 为IDE生成整个Android源树项目文件。 |
-e | --exclude-paths | 排除IDE中的目录。 |
-l | --language | 使用特定语言启动IDE:j=java c=C / C ++ r=Rust |
-h | --help | 显示帮助消息并退出。 |
故障排除提示
如果开发人员遇到“Dependent modules dictionary is empty”或其他类似问题,建议运行以下命令进行干净的构建:
make clean
常见问题(FAQ)
Q1.如果我已经有一个IDE项目文件,并运行AIDEGen命令再次生成相同的项目文件,会发生什么?
A1:先前的IDE项目文件将被新生成的AIDEGen命令覆盖。
Q2:何时需要重新运行AIDEGen?
A2:建议在执行repo sync后重新运行AIDEGen。
附加提示
以下是一些附加提示,以增强对AIDEGen的使用:
1.在IntelliJ中,使用“文件>无效缓存/重新启动…”强制更新项目面板,如果IDE没有自动同步。
2.如果您在远程桌面上运行AIDEGen,请确保在不同的桌面会话中没有运行IntelliJ实例。
通过AIDEGen,开发人员可以简化项目设置过程,减少手动配置工作量,更多地专注于编码和开发。立即尝试AIDEGen,并体验它为Java和C / C ++开发人员带来的便利!
项目位置
/android/tools/asuite/aidegen