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還不是太成熟,所以版本更新會比較快,如果當(dāng)初項目作者使用的是其他版本的Gradle,而你沒有,AS就好默認(rèn)去下載最匹配的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實現(xiàn)一個支持漸變背景的Button示例詳解
這篇文章主要為大家介紹了Flutter實現(xiàn)一個支持漸變背景的Button示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
android顯示TextView文字的倒影效果實現(xiàn)代碼
這篇文章主要介紹了android顯示TextView文字的倒影效果實現(xiàn)代碼,需要的朋友可以參考下2014-02-02
Android ContentProvider基礎(chǔ)應(yīng)用詳解
ContentProvider是android四大組件之一。它是不同應(yīng)用程序之間交換數(shù)據(jù)的標(biāo)準(zhǔn)api,ContentProvider以某種uri的形式對外提供數(shù)據(jù),允許其它應(yīng)用程序?qū)ζ湓L問或者修改數(shù)據(jù)。本文將介紹ContentProvider的基礎(chǔ)應(yīng)用,感興趣的可以學(xué)習(xí)一下2021-12-12
Android_UI 仿QQ側(cè)滑菜單效果的實現(xiàn)
相信大家對QQ側(cè)滑菜單的效果已經(jīng)不陌生了吧,側(cè)滑進入個人頭像一側(cè),進行對頭像的更改,我的收藏,QQ錢包,我的文件等一系列的操作,下面小編給大家分享Android_UI 仿QQ側(cè)滑菜單效果的實現(xiàn),一起看看吧2017-04-04
Android開發(fā)之Notification通知用法詳解
這篇文章主要介紹了Android開發(fā)之Notification通知用法,結(jié)合實例形式較為詳細(xì)的分析了Notification通知的功能、參數(shù)、定義及使用方法,需要的朋友可以參考下2016-11-11

