AIDEGen (Android IDE Generator)旨在自动化项目设置过程,以便开发人员在流行的 IDE 环境中处理 Java 或 C/C++ 项目。开发者不再需要手动配置一个 IntelliJ 项目,比如所有的项目依赖。它是一个命令行工具,提供以下功能:
配置 Android Studio 或 IntelliJ 项目文件并解决相关模块依赖关系。
为指定的子项目或构建目标启动 IDE,即 frameworks/base 或 Settings。
为包含构建目标的指定文件夹启动 IDE,即 cts。
为 IntelliJ 自动配置 JDK 和 Android 编码风格。
AIDEGen 的 readme 可以查看 在线文档 或者源码位置:tools/asuite/aidegen/README.md
IDE安装,选择自己喜欢的IDE,包括Android Studio、IntelliJ IDEA、Eclipse、CLion和VS Code。
设置安卓开发环境。
$ source build/envsetup.sh && lunch <TARGET>
为framework和Settings生成和启动 IntelliJ 项目的示例:
$ 'aidegen ... ...'
Example to generate and launch IntelliJ project for framework and
Settings:
$ aidegen Settings framework
$ aidegen packages/apps/Settings frameworks/base
$ aidegen packages/apps/Settings framework
$ 'aidegen -i s'
Example to generate and launch Android Studio project for framework:
$ aidegen framework -i s
开发人员还可以将以下可选参数与 AIDEGen 命令一起使用。aidegen --help
| 选项 | 多头期权 | 描述 |
|---|---|---|
-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 | 跳过构建 jar 或模块。 |
-v | --verbose | 显示 DEBUG 级别的日志记录。 |
-a | --android-tree | 为 IDE 生成整个 Android 源代码树项目文件。 |
-e | --exclude-paths | 排除 IDE 中的目录。 |
-l | --language | 使用特定语言启动 IDE,j=java c=C/C++ r=Rust |
-h | --help | 显示帮助信息并退出。 |
源码位置:development/tools/idegen//README.md,在线文档
构建 AIDEGen命令:
# 加载编译脚本(在源码根目录下)
source build/envsetup.sh && lunch <TARGET>
# 编译idegen生成idegen.jar(在源码根目录下)
# make idegen 或
mmm development/tools/idegen
# 执行idegen.sh脚本 (可能需要sudo权限)
# 执行完毕后源码根目录下会生成 android.iml 和 android.ipr 两个as工程配置文件
development/tools/idegen/idegen.sh
#打开Android Studio导入源码
点击"Open an existing Android Studio project"选项,找到并选中刚刚生成的"android.ipr"文件
完成以上四个步骤之后,会发现在源码根目录下出现了三个新的文件(也有可能是两个)
android.iml (记录项目所包含的module、依赖关系、SDK版本等等,类似一个XML文件)
android.ipr (工程的具体配置,代码以及依赖的lib等信息,类似于Visual Studio的sln文件)
android.iws (主要包含一些个人的配置信息,也有可能在执行上述操作后没有生成,这个没关系,在打开过一次项目之后就会自动生成了)
"android.iml"和"android.ipr"一般是"只读"的属性,我们这里建议大家,把这两个文件改成可读可写,否则,在更改一些项目配置的时候可能会出现无法保存的情况,执行如下两条命令即可。
sudo chmod 777 android.iml
sudo chmod 777 android.ip
"android.iml"文件的配置类标签:
(1) sourceFolder:表示该目录加入引索。
(2) excludeFolder:表示该目录不加入引索。
(3) orderEntry:表示属于项目引用jar包。
Android 很大,因此 IDEA 需要大量内存
(1) 在“Help > Edit Custom VM”中添加“-Xms1g -Xmx5g”到你的VM选项
(2) 在“Help -> Edit custom properties”中增加文件大小限制,增加“idea.max.intellisense.filesize=100000”
确保重新启动 IDE 以使新设置生效。