目录
一、前言
经常和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文件即可。
整个导入的时间根据电脑性能的差异而不同。