標籤:
Android Studio匯入Project的方法
Android Studio到現在已經發展到1.0+的版本了,最近也在試著使用它,原因是多方面的,一個畢竟是未來的趨勢,二則是github上越來越多的大牛開源項目都是基於Android Studio的,因此會使用Android Studio就成為一件必須的任務。
關於Android Studio的下載和安裝,網上一搜一大堆的文章,本文不準備累贅地談論這些問題,主要說一下如何在Android Studio中匯入已有的項目進去。
在具體下面的工作之前,有兩個概念是與Eclipse不大相同的,即Project和Module。在Android Studio中,一個Project並不是Eclipse的project,倒是有點像workspace(或者說任務吧),而Module才是與Eclipse的project相似的。所以,一個Project中可以包含多個Module,多個Module在一起共同構成一個Project,每個Module可以是一個庫,也可以是一個可啟動並執行Module(對應可啟動並執行apk)。
好了,現在進入正題。
1、啟動Android Studio,本文使用的是0.8.0版的。
2、準備需要在Android Studio中開啟的項目。這裡以 https://github.com/AndroidAlliance/EdgeEffectOverride/ 為例,請將對應的zip檔案下載下來並解壓縮,這是一個滾動控制項如ScrollView滾動到超出邊界時會出現高光現象的項目。之所以以這個項目為例,是因為在匯入這個項目時,出現了幾個問題需要解決。
3、修改項目中所需的Gradle軟體包需求。
找到 EdgeEffectOverride-master\gradle\wrapper下面的gradle-wrapper.properties檔案,使用Notepad++之類的文字檔工具開啟它,裡面的這一行(紅色部分):
#Wed Oct 02 23:50:13 BST 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-all.zip
請將紅色部分改為你的機器上已安裝的Gradle版本,比如我這裡是gradle-1.12-all.zip,(在C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.12-all\2apkk7d25miauqf1pdjp1bm0uo,你的機器可能與這略有不同,因為最後一個檔案夾名是隨機產生的):
如果不做這步修改的話,不同的項目要求的Gradle版本不同,Android Studio不得不下載多份Gradle軟體包放到C:盤上,其實沒有必要,因為每個Project會提出它所需的Gradle最低版本要求,可以開啟Project中的build.gradle檔案看到(紅色部分):
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ‘com.android.tools.build:gradle:0.6.+‘
}
}
這裡的例子是要求0.6以上版本的Gradle,因為我們的機器可能已經存在比這個版本更高的Gradle,因此不需要像上面要求的那樣去下一份gradle-1.8-all.zip的檔案,直接用機器中已有的即可。順便說一下,可以通過http://services.gradle.org/distributions/xxx.zip(請將藍色部分xxx.zip改為所需的檔案名稱,比如gradle-1.12-all.zip,其它版本也是一樣),這樣手工下載下來,然後放到C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.12-all\2apkk7d25miauqf1pdjp1bm0uo裡面,不需要解壓縮,Android Studio會自己解壓縮的。
4、點擊Import Project。
定位到項目所在的目錄,找到其中的build.gradle檔案,然後點擊OK按鈕。
5、遇到的問題
首先會提示一個錯誤,大意是使用了不支援的Gradle版本,請使用Gradle1.10,如下:
此時點擊下面的“Gradle settings”藍色連結,出現下面的視窗:
選中“Use default gradle wrapper(recommended)”推薦的選項,點擊OK按鈕即可。回到前一個介面時,再點擊Fix Gradle wrapper and re-import project藍色連結,這樣就開始修正並自動構建Project了。
在gradle構建project過程中,底部出現所示的提示資訊,見紅色驚嘆號的兩行:
其中第一個是說DefaultGroovMavenDeployer缺少了nexusUsername屬性,第二個是說必須使用更新版本的Android Gradle外掛程式。
先糾正第一個問題,在Android Studio中開啟EdgeEffectOverride模組中的build.gradle檔案,刪掉最後那行(見底部藍色選中部分):
好了,刪掉最後這行,Android Studio會自動儲存。注意,如果是誤修改的話,可以按Ctrl+Z後退,但若要重新前進的話,快速鍵是Ctrl+Shift+Z,而不是平常慣用的Ctr+Y,Ctrl+Y在Android Strdio中是刪除當前行的意思。
接下來處理第二個問題,開啟EdgeEffectOverride-master項目下面的build.gradle檔案,如所示:
藍色選中部分就是要修改的內容,奇怪的是Android Studio已經自動幫我們改好了,已經是當前的Gradle外掛程式版本了。
最後,點擊頂部的“Try Again”連結,。
不過,又是出現新的問題:
意思是說項目使用的SDK Build Tools版本18.0.1太低了,最低要使用19.1.0,沒辦法,只好按照提示改了。
繼續在Android Studio中分別開啟EdgeEffectOverride和EdgeEffectOverrideSample這兩個模組下面的build.gradle檔案,將其中的buildToolsVersion後面的數字統統改成19.1.0,如中的紅色標記部分,記得兩個build.gradle檔案都要改。
好了,點擊編輯器頂部的“Try Again”,經過Gradle一番忙碌之後,一切終於好了,下載終於可以運行了。
6、點擊綠色的三角箭頭,EdgeEffectOverrideSample跑起,其中EdgeEffectOverride是EdgeEffectOverrideSample運行依賴的模組(相當於Eclipse中的library)。
Android Studio匯入Project的方法