Android Studio如何导入android源码

1、编译idegen模块

前提是源码要编过,不然idegen没法生成。
在源码路径下执行:

source build/envsetup.sh
mmm development/tools/idegen

当出现:

#### make completed successfully (10 seconds) ####

说明编译成功。此时在out/host/linux-x86/framework下会生成idegen.jar文件。

不编译源码怎么办呢?
如果从其他地方下载idegen.jar,然后复制到out/host/linux-x86/framework/目录下也可以,这样就不需要编译源码了。但是必须保证编译该idegen.jar 的 jdk 版本和稍后执行idegen.sh时的jdk版本保持一致。

2、执行 idegen.sh

在根目录下执行idegen.sh 。

baseline$ . development/tools/idegen/idegen.sh 

注意一定要在根目录下执行。

出现

Read excludes: 3ms
Traversed tree: 35332ms

后会发现根目录下生成 android.ipr 和 android.iml文件,这两个文件是Android Studio的工程配置文件。

3、导入工程文件

此时打开Android Studio,点击 Open 打开刚才生成的 ipr 文件即可导入工程文件,但是如果直接导入,会把所有的源码模块导入到Android Studio中,这会很慢的。所以最好过滤一下不需要的源码文件,只导入自己需要的模块即可。

通过android.iml文件可以过滤掉自己不需要导入的模块。如果只想导入frameworks的源码,过滤掉其他的。打开android.iml文件,加入如下代码:

"file://$MODULE_DIR$/.repo" />
"file://$MODULE_DIR$/abi" />
"file://$MODULE_DIR$/art" />
"file://$MODULE_DIR$/bionic" />
"file://$MODULE_DIR$/bootable" />
"file://$MODULE_DIR$/build" />
"file://$MODULE_DIR$/cts" />
"file://$MODULE_DIR$/dalvik" />
"file://$MODULE_DIR$/developers" />
"file://$MODULE_DIR$/development" />
"file://$MODULE_DIR$/device" />
"file://$MODULE_DIR$/docs" />
"file://$MODULE_DIR$/external" />
"file://$MODULE_DIR$/hardware" />
"file://$MODULE_DIR$/libcore" />
"file://$MODULE_DIR$/libnativehelper" />
"file://$MODULE_DIR$/ndk" />
"file://$MODULE_DIR$/out" />
"file://$MODULE_DIR$/packages" />
"file://$MODULE_DIR$/pdk" />
"file://$MODULE_DIR$/prebuilt" />
"file://$MODULE_DIR$/prebuilts" />
"file://$MODULE_DIR$/sdk" />
"file://$MODULE_DIR$/system" />
"file://$MODULE_DIR$/tools" />

对比源码下目录,可以增加或者删除过滤模块。
android.iml文件中会默认过滤掉一些模块文件。

如果想了解的更加详细,可以查看下面文章。
1、
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73b67848c5425938448e435061e5a24feef7721145080c37b6c52fe1d48afad762438427df0db99df5dddcac9746ed3726e360b8630418f4fef961d73d620e11bafe84fbce7&p=8c759a46d4c72dfc57efd1364a5492&newp=ce73c64ad49d11a05bef90291e4b97231610db2151d6d0126b82c825d7331b001c3bbfb423241400d7c17a6701a84358eef73574310221a3dda5c91d9fb4c57479d6&user=baidu&fm=sc&query=source+insight++android+studio&qid=f7a0198f0000bb00&p1=2

2、
http://www.cnblogs.com/qianxudetianxia/p/3721202.html

你可能感兴趣的:(android)