Android Studio使用教程(五):Gradle命令詳解和導(dǎo)入第三方包
Android Studio + Gradle的組合用起來非常方便,很多第三方開源項(xiàng)目也早都遷移到了Studio,為此今天就來介紹下查看、編譯并導(dǎo)入第三方開源項(xiàng)目的方法。
Sublime + Terminal編譯并查看源碼
首先來給大家介紹一種簡(jiǎn)便并且個(gè)人最喜歡的一種辦法。很多時(shí)候我們?cè)贕itHub上看到一個(gè)不錯(cuò)的開源項(xiàng)目,一般有兩種需求,閱讀源碼和查看運(yùn)行效果,如果是單純的查看源碼我更喜歡用一些輕量級(jí)編輯器,如vim,sublime等,vim不是很熟練,所以個(gè)人一種都習(xí)慣用sublime來查看并閱讀源碼(實(shí)際開發(fā)還是Android Studio、Eclipse等IDE更有效率);至于查看運(yùn)行效果首先得需要apk,對(duì)于一些開源項(xiàng)目已提供apk下載,那就好辦,直接安裝到手機(jī)即可。 而對(duì)于一些沒有提供apk下載的,則需要自己手動(dòng)編譯打包。
下面以9GAG為例來講解下命令行Gradle編譯的過程。
1、切換到9GAG項(xiàng)目的根目錄,執(zhí)行 ./gradlew -v 來查看下項(xiàng)目所用的Gradle版本
如果你是第一次執(zhí)行會(huì)去下載Gradle,這個(gè)過程如果不翻墻非常慢,建議翻墻
緊接著下載成功會(huì)看到如下信息:
------------------------------------------------------------ Gradle 2.2.1 ------------------------------------------------------------ Build time: 2014-11-24 09:45:35 UTC Build number: none Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a Groovy: 2.3.6 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.7.0_60 (Oracle Corporation 24.60-b09) OS: Mac OS X 10.9.5 x86_64
2、接著執(zhí)行 ./gradlew clean
執(zhí)行這個(gè)命令會(huì)去下載Gradle的一些依賴,下載成功并編譯通過時(shí)會(huì)看到如下信息:
:app:clean UP-TO-DATE :extras:ShimmerAndroid:clean UP-TO-DATE BUILD SUCCESSFUL
3、最后執(zhí)行 ./gradlew build
這個(gè)命令會(huì)直接編譯并生成相應(yīng)的apk文件,如果看到如下字樣就代表build成功了
BUILD SUCCESSFUL Total time: 31.456 secs
緊接著在 9GAG/app/build/outputs/apk 目錄下會(huì)看到類似于app-debug-unaligned.apk, app-release-unsigned.apk等,看名字應(yīng)該能理解意思,unaligned代表沒有進(jìn)行zip優(yōu)化的,unsigned代表沒有簽名的。然后就可以直接安裝apk查看運(yùn)行效果了。
以上是我個(gè)人習(xí)慣的一種閱讀第三方源碼的習(xí)慣,關(guān)于上面提到的一些gradle命令大家應(yīng)該還不理解,后面會(huì)一一進(jìn)行說明的。
導(dǎo)入Android Studio
但是如果你還是想導(dǎo)入Android Studio的話,下面就來簡(jiǎn)單介紹下導(dǎo)入Studio的方法以及一些注意事項(xiàng)。
1、選擇File->Import Project, 選擇本地9GAG項(xiàng)目的目錄
2、第一次依然會(huì)下載Gradle,其實(shí)自己在命令行已經(jīng)下載過了,但是這次依然還要下載一次(依然要翻墻),可能是個(gè)bug
3、導(dǎo)入之后你需要注意以下幾個(gè)地方 每個(gè)Module下的 build.gradle 下的buildToolsVersion,即9GAG/app/build.gradle 和 9GAG/extras/ShimmerAndroid/build.gradle , 可以打開 SDK Manager 查看本地你安裝的 SDK Build-tools, 如下圖,如果相應(yīng)版本沒有安裝請(qǐng)先下載。
項(xiàng)目根目錄下的 build.gradle 下gradle插件的版本,如 9GAG/build.gradle 的內(nèi)容:
classpath ‘com.android.tools.build:gradle:1.0.0'
Android Studio 1.0必須指定gradle插件1.0的版本
Gradle Wrapper的版本,在 9GAG/gradle/wrapper/gralde-wrapper.properties 文件里有如下內(nèi)容:
#Thu Dec 18 16:02:24 CST 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
上述內(nèi)容制定了gradle的版本使用2.2.1,在Studio中如果你手動(dòng)改了gradle插件的版本會(huì)有提示要不要更新Gradle Wrapper的版本。
如果以上幾個(gè)地方確定版本是ok的,那么導(dǎo)入Android Studio應(yīng)該沒有問題,有些老的項(xiàng)目可能gradle版本比較老,仍然在使用一些老的語法,如果編譯還通不過參考Android Studio系列教程四–Gradle基礎(chǔ)更改成最新的語法。
Gradle常用命令
上面大家接觸了一些命令如 ./gradlew -v ./gradlew clean ./gradlew build, 這里注意是./gradlew, ./代表當(dāng)前目錄,gradlew代表 gradle wrapper,意思是gradle的一層包裝,大家可以理解為在這個(gè)項(xiàng)目本地就封裝了gradle,即gradle wrapper, 在9GAG/gradle/wrapper/gralde-wrapper.properties文件中聲明了它指向的目錄和版本。只要下載成功即可用grdlew wrapper的命令代替全局的gradle命令。
理解了gradle wrapper的概念,下面一些常用命令也就容易理解了。
./gradlew -v 版本號(hào)
./gradlew clean 清除9GAG/app目錄下的build文件夾
./gradlew build 檢查依賴并編譯打包
這里注意的是 ./gradlew build 命令把debug、release環(huán)境的包都打出來,如果正式發(fā)布只需要打Release的包,該怎么辦呢,下面介紹一個(gè)很有用的命令 **assemble
./gradlew assembleDebug 編譯并打Debug包
./gradlew assembleRelease 編譯并打Release的包
除此之外,assemble還可以和productFlavors結(jié)合使用,具體在下一篇多渠道打包進(jìn)一步解釋。
./gradlew installRelease Release模式打包并安裝
./gradlew uninstallRelease 卸載Release模式包
下一篇來介紹用Gradle進(jìn)行方便的多渠道打包,以及項(xiàng)目中完整的Gradle配置。有問題或建議歡迎大家直接博客留言。
相關(guān)文章
Android中Splash應(yīng)用啟動(dòng)白屏問題的解決方法
這篇文章主要為大家詳細(xì)介紹了Android中Splash應(yīng)用啟動(dòng)白屏問題的兩種解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Android顯示網(wǎng)絡(luò)圖片實(shí)例
這篇文章主要介紹了Android顯示網(wǎng)絡(luò)圖片的方法,以實(shí)例形式展示了Android程序顯示網(wǎng)絡(luò)圖片的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10Android view自定義實(shí)現(xiàn)動(dòng)態(tài)進(jìn)度條
這篇文章主要介紹了Android view自定義實(shí)現(xiàn)動(dòng)態(tài)進(jìn)度條的相關(guān)資料,這里提供實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的朋友可以參考下2016-12-12AndroidStudio 使用過程中出現(xiàn)的異常(Gradle sync failed)處理辦法
本文主要介紹AndroidStudio 使用過程中出現(xiàn)的異常的解決辦法,這里幫大家舉例說明,如何處理出現(xiàn)這種問題,有需要的小伙伴可以參考下2016-09-09Android編程實(shí)現(xiàn)抽屜效果的方法詳解
這篇文章主要介紹了Android編程實(shí)現(xiàn)抽屜效果的方法,結(jié)合具體實(shí)例形式分析了Android實(shí)現(xiàn)抽屜效果的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-05-05在Flutter中制作翻轉(zhuǎn)卡片動(dòng)畫的完整實(shí)例代碼
最近Flutter的勢(shì)頭是越來越猛了,作為一個(gè)Android程序猿,我自然也是想要趕緊嘗試一把,這篇文章主要給大家介紹了關(guān)于在Flutter中制作翻轉(zhuǎn)卡片動(dòng)畫的相關(guān)資料,需要的朋友可以參考下2021-10-10Android應(yīng)用開發(fā)中單元測(cè)試分析
這篇文章主要介紹了Android應(yīng)用開發(fā)中單元測(cè)試的作用,以及何為單元測(cè)試,深入學(xué)習(xí)Android應(yīng)用開發(fā)中單元測(cè)試,需要的朋友可以參考下2015-12-12BroadcastReceiver動(dòng)態(tài)注冊(cè)案例詳解
這篇文章主要為大家詳細(xì)介紹了BroadcastReceiver動(dòng)態(tài)注冊(cè)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Android應(yīng)用中制作選中后圖標(biāo)變大浮動(dòng)效果的代碼分享
這篇文章主要介紹了Android應(yīng)用中制作選中后圖標(biāo)變大浮動(dòng)效果的代碼分享,這里作者舉了一個(gè)體育賽事app的例子,需要的朋友可以參考下2016-02-02RxJava2和Retrofit2封裝教程(整潔、簡(jiǎn)單、實(shí)用)
這篇文章主要給大家介紹了關(guān)于RxJava2和Retrofit2封裝的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),整潔、簡(jiǎn)單、實(shí)用,非常適合大家學(xué)習(xí)使用,需要的朋友可以參考下2018-11-11