Android Studio導入Project、Module的正確方法

LeoSchubert 8年前發布 | 24K 次閱讀 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。

 

以上。

 本文由用戶 LeoSchubert 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!