使用Android Studio导入源码

来源:互联网 发布:fire fox打不开淘宝 编辑:程序博客网 时间:2024/06/06 10:03

第一步:
基础准备工作

首先你得安装配置了Android Studio,具体不明白的参考《Android Studio入门到精通 》。

接着你得下载好了源码Code,至于如何下载这里不再说明,比较简单,上官网查看就行了。

其次你需要保证源码已经被编译生成了out相关目录文件。

好了,如上就是一些基本准备工作,针对定制源码或者原生源码来说,这些准备步骤都是必须的,没必要再强调了。

第二步:
配置导入及使用

2-2-1 编译源码idegen模块及生成AS配置文件(*.ipr)

在开始编译idegen模块前,你一定知道需要先全局编译出out目录及相关文件吧,这个不再过多说了,我们通过如下命令编译idegen模块:

mmm development/tools/idegen/

这行命令的意思是编译idegen这个模块项目,然后生成idegen.jar文件(不信你自己去查看这个模块的Android.mk的目标吧,不多解释)。运行完以后如果看到如下信息则说明编译OK:

#### make completed successfully (7 seconds) ####

接着执行如下脚本:

development/tools/idegen/idegen.sh

这行命令的意思是在根目录生成对应的android.ipr、android.iml IEDA工程配置文件。等待片刻得到类似如下信息说明OK:

Read excludes: 21msTraversed tree: 194799ms

通过如上操作我们就完成了基本的源码配置工作。

第三步:
导入Android Studio前的一些客户化操作

大家都知道使用Eclipse倒入源码很慢,Android Studio导入源码时也慢,所以建议修改android.iml文件(将自己不用的代码去掉),然后再导入Studio。

就像下面摘取的android.iml文件1887行开始的这些一样:

<sourceFolder url="file://$MODULE_DIR$/./sdk/testapps/userLibTest/src" isTestSource="true"/><sourceFolder url="file://$MODULE_DIR$/./tools/external/fat32lib/src/main/java" isTestSource="false"/><excludeFolder url="file://$MODULE_DIR$/out/eclipse"/><excludeFolder url="file://$MODULE_DIR$/.repo"/><excludeFolder url="file://$MODULE_DIR$/external/bluetooth"/><excludeFolder url="file://$MODULE_DIR$/external/chromium"/><excludeFolder url="file://$MODULE_DIR$/external/icu4c"/><excludeFolder url="file://$MODULE_DIR$/external/webkit"/><excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs"/><excludeFolder url="file://$MODULE_DIR$/out/host"/><excludeFolder url="file://$MODULE_DIR$/out/target/common/docs"/><excludeFolder url="file://$MODULE_DIR$/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates"/><excludeFolder url="file://$MODULE_DIR$/out/target/product"/><excludeFolder url="file://$MODULE_DIR$/prebuilt"/>

我们可以仿照上面这段代码的写法一样过滤掉不需要的内容,这样在导入时就会快很多。

第四步:
使用Android Studio导入源码工程
有了如上的这些操作以后,我们打开Android Studio,然后选择打开一个现有的Android Studio项目,然后选择打开源码根目录下的android.ipr文件,然后出现如图一样的索引即可等待导入就行。

原文地址:http://blog.csdn.net/yanbober/article/details/48846331