一、前言
经常和Android系统源代码(AOSP)打交道的人,如果要去修改系统源码,显然用SourceInsight、Notepad++、vim这些工具有些麻烦,并且想快速补全代码也做不到。
我们可以用idegen来生成针对AndroidStudio或IntelliJ IDEA的Android系统源代码工程配置文件,它位于Android系统源代码工程目录的下列位置:
development/tools/idegen
├── Android.bp
├── excluded-paths
├── idegen.iml
├── idegen.ipr
├── idegen.sh
├── index-gen.sh
├── intellij-gen.sh
├── README
├── src
│ ├── com
│ │ └── android
│ │ └── idegen
│ │ ├── DirectorySearch.java
│ │ ├── FrameworkModule.java
│ │ ├── IntellijProject.java
│ │ ├── MakeFileParser.java
│ │ ├── ModuleCache.java
│ │ ├── ModuleIndexes.java
│ │ └── Module.java
│ ├── Configuration.java
│ ├── Eclipse.java
│ ├── Excludes.java
│ ├── Files.java
│ ├── IntelliJ.java
│ ├── Log.java
│ ├── Main.java
│ └── Stopwatch.java
└── templates
├── android.iml
├── android.ipr
├── idea
│ ├── compiler.xml
│ ├── copyright
│ │ ├── Apache_2.xml
│ │ └── profiles_settings.xml
│ ├── misc.xml
│ ├── modules.xml
│ └── vcs.xml
└── module-template.iml
7 directories, 32 files
二、idegen使用方法
我们以Android10.0.0_r2为例。
1. 全编AOSP
下载完源码后,首先要编译一遍源码。
在AOSP源码根目录执行下面的命令:
source build/envsetup.sh
lunch aosp_arm-eng
make -j32
注意:源码下载请参照《AOSP源码下载》
2. 编译生成idegen.jar
在AOSP源码根目录执行下面的命令:
mmma development/tools/idegen/
编译完成后,将会生成idegen.jar文件,文件的具体位置:out/host/linux-x86/framework/idegen.jar
3. 生成IDE配置文件
在AOSP源码根目录执行下面的命令:
source development/tools/idegen/idegen.sh
脚本执行完成后,编译目录下会生成三个文件,编译目录如下:
Android_10_0_0_r2
├── Android.bp -> build/soong/root.bp
├── android.iml
├── android.ipr
├── art
├── bionic
├── bootable
├── bootstrap.bash -> build/soong/bootstrap.bash
├── build
├── .classpath
├── cts
├── dalvik
├── developers
├── development
├── device
├── external
├── frameworks
├── hardware
├── kernel
├── libcore
├── libnativehelper
├── Makefile
├── out
├── packages
├── pdk
├── platform_testing
├── prebuilts
├── sdk
├── system
├── test
├── toolchain
└── tools
25 directories, 6 file
其中:
# 用于AndroidStudio或IntelliJ IDEA的项目配置文件
android.ipr
android.iml
# 用于Eclipse的项目配置文件
.classpath
4. 将工程导入到IDE
如果使用AndroidStudio或IntelliJ IDEA,选择刚才生成的android.ipr文件即可。
整个导入的时间根据电脑性能的差异而不同。