Android Studio導(dǎo)入Project與Module的方法及實例
Gradle Project項目、Module模塊導(dǎo)入
最近看到網(wǎng)上很多人在抱怨,Android Studio很難導(dǎo)入github上下載下來的一些項目,主要包括:
1、導(dǎo)入就在下載Gradle
2、根本導(dǎo)不進
下面我分2部分來講解正確的導(dǎo)入姿勢:
1、導(dǎo)入完整的Github Project
我們在github上找一個項目
工程目錄如上,里面的東西其實分為2部分,工程相關(guān)和項目相關(guān)
工程相關(guān)用于配置整個項目的編譯環(huán)境和依賴,項目相關(guān)就是你的代碼和配置文件啦
我們先來看工程相關(guān),他包含這樣幾個文件夾:
由于現(xiàn)在Gradle還不是太成熟,所以版本更新會比較快,如果當初項目作者使用的是其他版本的Gradle,而你沒有,AS就好默認去下載最匹配的Gradle,可偏偏在國內(nèi),這個下載奇慢無比,而且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就好
下面我們使用另一種方法,移花接木:
我們先來看看我們自己創(chuàng)建的項目編譯好后是什么樣子:
多了幾個gradle的文件哈,OK,我們把工程相關(guān)的gradle文件夾copy過來,替換掉要導(dǎo)入工程的gradle文件夾
copy需要這幾個文件夾:
OK,下面再重新導(dǎo)入Exiting Project,選擇Build.gradle文件,即可導(dǎo)入Project。
2、導(dǎo)入一個module
如果我們新建了一個工程,需要導(dǎo)入其他工程的一個module怎么弄呢,如同我們上面的那個項目,需要導(dǎo)入他的library
這個其實就很簡單了,我們前面搞那么多,都是因為工程無法找到正確的編譯文件,但是module就不一樣了,他只是用一個Build.gradle文件來控制它這個module的編譯規(guī)則,因此,我們只要導(dǎo)入就可以了,工程的編譯配置還是我們自己工程的配置,只是導(dǎo)入的時候需要注意下,這里我們需要選擇module的目錄,而不是再選擇Build.gradle文件了。
ok,選擇導(dǎo)入,就可以完成module的添加了。
歸根到底,gradle的編譯方式與Android的Makefile還是有點類似的,這樣的方式,項目越大,優(yōu)勢越明顯,但在我們平時的小app開發(fā)上,確實顯得有點臃腫,編譯時間實在太長了!??!但愿正式版能有所改善,相信Google能做到。
對于無法導(dǎo)入項目這件事,說到底還是對Gradle語法和編譯環(huán)境的不熟悉造成的,所以說,學(xué)東西,搞清楚原理很重要啊,特別是像這種剛開始普及的東西,哪來那么多現(xiàn)成的東西可以讓你借鑒,只能靠自己,Read The F**king Source Code。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Flutter學(xué)習之構(gòu)建、布局及繪制三部曲
這篇文章主要給大家介紹了關(guān)于Flutter學(xué)習之構(gòu)建、布局及繪制三部曲的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用Flutter具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧2019-04-04Android實現(xiàn)點匯聚成字的動態(tài)效果詳解
在引入?fl_chart?繪制圖表的時候,看到插件有下面這樣的動效,隨機散亂的圓點最后組合成了?Flutter?的?Logo,挺酷炫的。本篇我們來探討類似的效果怎么實現(xiàn)2022-07-07Android如何在root設(shè)備上開啟ViewServer詳解
這篇文章主要給大家介紹了關(guān)于Android中如何在root設(shè)備上開啟ViewServer的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者具有一定的參考學(xué)習價值,需要的朋友們下面來一起看看吧。2017-12-12分析Android App中內(nèi)置換膚功能的實現(xiàn)方式
這篇文章主要介紹了Android App中內(nèi)置換膚功能的實現(xiàn)方式,文中舉了一個類似QQ空間中換膚方式的例子作為說明,需要的朋友可以參考下2016-02-02