Android Studio导入Project、Module的正确方法

泡在网上的日子 / 文 发表于2014-11-15 15:35 次阅读 Android Studio

转载自:http://blog.csdn.net/eclipsexys/article/details/41142907 整理了下格式。


最近看到网上很多人在抱怨,Android Studio很难导入github上下载下来的一些项目,主要包括:

1、导入就在下载Gradle 。

2、根本导不进。

下面我分2部分来讲解正确的导入方法:


1、导入完整的Github Project

我们在github上找一个项目



工程目录如上,里面的东西其实分为2部分,工程相关和项目相关

工程相关用于配置整个项目的编译环境和依赖,项目相关就是你的代码和配置文件啦


我们先来看工程相关,他包含这样几个文件夹:



由于现在Gradle还不是太成熟,所以版本更新会比较快,如果当初项目作者使用的是其他版本的Gradle,而你没有,AS就好默认去下载最匹配的Gradle,可偏偏在国内,这个下载奇慢无比,而且Gradle的文件也挺大有50+MB,所以,我们需要修改下配置先:


打开gradle文件夹warpper文件夹,打开gradle-wrapper.properties

#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

可以看见最后一行,作者使用的是gradle-1.12-all.zip,而我们,我们打开这样一个目录C:\Users\Administrator\.gradle\wrapper\dists\gradle-2.1-all\27drb4udbjf4k88eh2ffdc0n55

我们使用的是gradle-2.1-all.zip,所以AS就煞笔的再去下一个gradle-1.12-all.zip了,OK我们修改下配置改为:

distributionUrl=http\://services.gradle.org/distributions/gradle-2.1-all.zip

然后选择


open exiting,选择我们的Build.gradle文件,就可以打开项目了。

但是——————————————————————————————————————————————

这个办法在最新的2.1上好像————————————————————————————————————不行了

具体原因我也没有找到,但可以想到Android Studio和gradle 2个都是beat中的玩意,出点问题也不奇怪,但愿以后正式版上能ok就好


下面我们使用另一种方法,移花接木:

我们先来看看我们自己创建的项目编译好后是什么样子:



多了几个gradle的文件哈,OK,我们把工程相关的gradle文件夹copy过来,替换掉要导入工程的gradle文件夹

copy需要这几个文件夹:


OK,下面再重新导入Exiting Project,选择Build.gradle文件,即可导入Project。


2、导入一个module

如果我们新建了一个工程,需要导入其他工程的一个module怎么弄呢,如同我们上面的那个项目,需要导入他的library

这个其实就很简单了,我们前面搞那么多,都是因为工程无法找到正确的编译文件,但是module就不一样了,他只是用一个Build.gradle文件来控制它这个module的编译规则,因此,我们只要导入就可以了,工程的编译配置还是我们自己工程的配置,只是导入的时候需要注意下,这里我们需要选择module的目录,而不是再选择Build.gradle文件了。


ok,选择导入,就可以完成module的添加了。


归根到底,gradle的编译方式与Android的Makefile还是有点类似的,这样的方式,项目越大,优势越明显,但在我们平时的小app开发上,确实显得有点臃肿,编译时间实在太长了!!!但愿正式版能有所改善,相信Google能做到。


对于无法导入项目这件事,说到底还是对Gradle语法和编译环境的不熟悉造成的,所以说,学东西,搞清楚原理很重要啊,特别是像这种刚开始普及的东西,哪来那么多现成的东西可以让你借鉴,只能靠自己,Read The F**king Source Code。


以上。




收藏 赞 (10) 踩 (0)
上一篇:[Android]-图片JNI(C++\Java)高斯模糊的实现与比较
前几天一直在弄android上的图片模糊效果的实现! 一直找不到方法,看别人说都是调用JNI,但是JNI这个东西我还真不熟悉啊! 只好从零开始了!这里不讲JNI的平台搭建,只讲JNI的关键代码,具体
下一篇:android中自定义ADT模板
简介 ADT模板就是在Eclipse中使用向导新建Android工程或者Android组件的时候使用的模板。ADT模板的特点: 1.可以通过简单的可视化配置[后面称之为UI parameters]来生成Android代码和资源样本 2.集成到Eclipse ADT中 3.FreeMarker驱动 Android的默认模板 SDK