1. 程式人生 > >Android Studio匯入Project、Module的正確方法

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

Gradle Project專案、Module模組匯入

最近看到網上很多人在抱怨,AndroidStudio很難匯入github上下載下來的一些專案,主要包括:

1、匯入就在下載Gradle
2、根本導不進

下面我分2部分來講解正確的匯入姿勢:

1、匯入完整的Github Project

我們在github上找一個專案


工程目錄如上,裡面的東西其實分為2部分,工程相關和專案相關

工程相關用於配置整個專案的編譯環境和依賴,專案相關就是你的程式碼和配置檔案啦

我們先來看工程相關,他包含這樣幾個資料夾:


由於現在Gradle還不是太成熟,所以版本更新會比較快,如果當初專案作者使用的是其他版本的Gradle,而你沒有,AS就好預設去下載最匹配的Gradle,可偏偏在國內,這個下載奇慢無比,而且Gradle的檔案也挺大有50+MB,所以,我們需要修改下配置先:

開啟gradle資料夾warpper資料夾,開啟gradle-wrapper.properties

[html]view plaincopyprint?
  1. #Wed Apr 10 15:27:10 PDT 2013  
  2. distributionBase=GRADLE_USER_HOME
  3. distributionPath=wrapper/dists  
  4. zipStoreBase=GRADLE_USER_HOME
  5. zipStorePath=wrapper/dists  
  6. 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我們修改下配置改為:

[html]view plaincopyprint?
  1. 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。

以上。