Android Studio使用教程(五):Gradle命令詳解和匯入第三方包_Android

來源:互聯網
上載者:User

Android Studio + Gradle的組合用起來非常方便,很多第三方開源項目也早都遷移到了Studio,為此今天就來介紹下查看、編譯並匯入第三方開源項目的方法。

Sublime + Terminal編譯並查看源碼

首先來給大家介紹一種簡便並且個人最喜歡的一種辦法。很多時候我們在GitHub上看到一個不錯的開源項目,一般有兩種需求,閱讀源碼和查看運行效果,如果是單純的查看源碼我更喜歡用一些輕量級編輯器,如vim,sublime等,vim不是很熟練,所以個人一種都習慣用sublime來查看並閱讀源碼(實際開發還是Android Studio、Eclipse等IDE更有效率);至於查看運行效果首先得需要apk,對於一些開源項目已提供apk下載,那就好辦,直接安裝到手機即可。 而對於一些沒有提供apk下載的,則需要自己手動編譯打包。

下面以9GAG為例來講解下命令列Gradle編譯的過程。

1、切換到9GAG項目的根目錄,執行 ./gradlew -v 來查看下項目所用的Gradle版本

如果你是第一次執行會去下載Gradle,這個過程如果不翻牆非常慢,建議翻牆

緊接著下載成功會看到如下資訊:

------------------------------------------------------------Gradle 2.2.1------------------------------------------------------------Build time: 2014-11-24 09:45:35 UTCBuild number: noneRevision:  6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4aGroovy:  2.3.6Ant:   Apache Ant(TM) version 1.9.3 compiled on December 23 2013JVM:   1.7.0_60 (Oracle Corporation 24.60-b09)OS:   Mac OS X 10.9.5 x86_64

2、接著執行 ./gradlew clean

執行這個命令會去下載Gradle的一些依賴,下載成功並編譯通過時會看到如下資訊:

:app:clean UP-TO-DATE:extras:ShimmerAndroid:clean UP-TO-DATEBUILD SUCCESSFUL

3、最後執行 ./gradlew build

這個命令會直接編譯並產生相應的apk檔案,如果看到如下字樣就代表build成功了

BUILD SUCCESSFULTotal time: 31.456 secs

緊接著在 9GAG/app/build/outputs/apk 目錄下會看到類似於app-debug-unaligned.apk, app-release-unsigned.apk等,看名字應該能理解意思,unaligned代表沒有進行zip最佳化的,unsigned代表沒有簽名的。然後就可以直接安裝apk查看運行效果了。

以上是我個人習慣的一種閱讀第三方源碼的習慣,關於上面提到的一些gradle命令大家應該還不理解,後面會一一進行說明的。

匯入Android Studio

但是如果你還是想匯入Android Studio的話,下面就來簡單介紹下匯入Studio的方法以及一些注意事項。

1、選擇File->Import Project, 選擇本地9GAG項目的目錄

2、第一次依然會下載Gradle,其實自己在命令列已經下載過了,但是這次依然還要下載一次(依然要翻牆),可能是個bug

3、匯入之後你需要注意以下幾個地方 每個Module下的 build.gradle 下的buildToolsVersion,即9GAG/app/build.gradle9GAG/extras/ShimmerAndroid/build.gradle , 可以開啟 SDK Manager 查看本地你安裝的 SDK Build-tools, 如下圖,如果相應版本沒有安裝請先下載。

項目根目錄下的 build.gradle 下gradle外掛程式的版本,如 9GAG/build.gradle 的內容:

classpath ‘com.android.tools.build:gradle:1.0.0'

Android Studio 1.0必須指定gradle外掛程式1.0的版本

Gradle Wrapper的版本,在 9GAG/gradle/wrapper/gralde-wrapper.properties 檔案裡有如下內容:

#Thu Dec 18 16:02:24 CST 2014distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

上述內容制定了gradle的版本使用2.2.1,在Studio中如果你手動改了gradle外掛程式的版本會有提示要不要更新Gradle Wrapper的版本。

如果以上幾個地方確定版本是ok的,那麼匯入Android Studio應該沒有問題,有些老的項目可能gradle版本比較老,仍然在使用一些老的文法,如果編譯還通不過參考Android Studio系列教程四–Gradle基礎更改成最新的文法。

Gradle常用命令

上面大家接觸了一些命令如 ./gradlew -v ./gradlew clean ./gradlew build, 這裡注意是./gradlew, ./代表目前的目錄,gradlew代表 gradle wrapper,意思是gradle的一層封裝,大家可以理解為在這個項目本地就封裝了gradle,即gradle wrapper, 在9GAG/gradle/wrapper/gralde-wrapper.properties檔案中聲明了它指向的目錄和版本。只要下載成功即可用grdlew wrapper的命令代替全域的gradle命令。

理解了gradle wrapper的概念,下面一些常用命令也就容易理解了。

./gradlew -v 版本號碼

./gradlew clean 清除9GAG/app目錄下的build檔案夾

./gradlew build 檢查依賴並編譯打包

這裡注意的是 ./gradlew build 命令把debug、release環境的包都打出來,如果正式發布只需要打Release的包,該怎麼辦呢,下面介紹一個很有用的命令 **assemble**, 如

./gradlew assembleDebug 編譯並打Debug包

./gradlew assembleRelease 編譯並打Release的包

除此之外,assemble還可以和productFlavors結合使用,具體在下一篇多渠道打包進一步解釋。

./gradlew installRelease Release模式打包並安裝

./gradlew uninstallRelease 卸載Release模式包

下一篇來介紹用Gradle進行方便的多渠道打包,以及項目中完整的Gradle配置。有問題或建議歡迎大家直接部落格留言。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.