Android Studio系列教程五--Gradle命令詳解與導(dǎo)入第三方包

Android Studio + Gradle的組合用起來非常方便杭朱,很多第三方開源項(xiàng)目也早都遷移到了Studio榨惠,為此今天就來介紹下查看钝满、編譯并導(dǎo)入第三方開源項(xiàng)目的方法距淫。

Sublime + Terminal編譯并查看源碼

首先來給大家介紹一種簡便并且個(gè)人最喜歡的一種辦法笨觅。很多時(shí)候我們在GitHub上看到一個(gè)不錯(cuò)的開源項(xiàng)目拦耐,一般有兩種需求,閱讀源碼和查看運(yùn)行效果见剩,如果是單純的查看源碼我更喜歡用一些輕量級編輯器杀糯,如vim,sublime等苍苞,vim不是很熟練固翰,所以個(gè)人一種都習(xí)慣用sublime來查看并閱讀源碼(實(shí)際開發(fā)還是Android Studio、Eclipse等IDE更有效率)柒啤;至于查看運(yùn)行效果首先得需要apk倦挂,對于一些開源項(xiàng)目已提供apk下載,那就好辦担巩,直接安裝到手機(jī)即可方援。 而對于一些沒有提供apk下載的,則需要自己手動(dòng)編譯打包涛癌。

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

1送火、切換到9GAG項(xiàng)目的根目錄,執(zhí)行./gradlew -v來查看下項(xiàng)目所用的Gradle版本

如果你是第一次執(zhí)行會去下載Gradle先匪,這個(gè)過程如果不翻墻非常慢种吸,建議翻墻

緊接著下載成功會看到如下信息:

------------------------------------------------------------Gradle2.2.1------------------------------------------------------------Buildtime:2014-11-2409:45:35UTCBuildnumber:noneRevision:6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4aGroovy:2.3.6Ant:ApacheAnt(TM)version1.9.3compiledonDecember232013JVM:1.7.0_60(OracleCorporation24.60-b09)OS:MacOSX10.9.5x86_64

2、接著執(zhí)行./gradlew clean

執(zhí)行這個(gè)命令會去下載Gradle的一些依賴呀非,下載成功并編譯通過時(shí)會看到如下信息:

:app:cleanUP-TO-DATE:extras:ShimmerAndroid:cleanUP-TO-DATEBUILDSUCCESSFUL

3坚俗、最后執(zhí)行./gradlew build

這個(gè)命令會直接編譯并生成相應(yīng)的apk文件,如果看到如下字樣就代表build成功了

BUILDSUCCESSFULTotaltime:31.456secs

緊接著在9GAG/app/build/outputs/apk目錄下會看到類似于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)該還不理解剧董,后面會一一進(jìn)行說明的幢尚。

導(dǎo)入Android Studio

但是如果你還是想導(dǎo)入Android Studio的話,下面就來簡單介紹下導(dǎo)入Studio的方法以及一些注意事項(xiàng)翅楼。

1尉剩、選擇File->Import Project, 選擇本地9GAG項(xiàng)目的目錄

2、第一次依然會下載Gradle犁嗅,其實(shí)自己在命令行已經(jīng)下載過了边涕,但是這次依然還要下載一次(依然要翻墻)晤碘,可能是個(gè)bug

3褂微、導(dǎo)入之后你需要注意以下幾個(gè)地方

每個(gè)Module下的build.gradle下的buildToolsVersion,即9GAG/app/build.gradle9GAG/extras/ShimmerAndroid/build.gradle, 可以打開SDK Manager查看本地你安裝的SDK Build-tools, 如下圖园爷,如果相應(yī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 2014distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

上述內(nèi)容制定了gradle的版本使用2.2.1求厕,在Studio中如果你手動(dòng)改了gradle插件的版本會有提示要不要更新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 版本號

./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配置踪古。有問題或建議歡迎大家直接博客留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末含长,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子伏穆,更是在濱河造成了極大的恐慌拘泞,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枕扫,死亡現(xiàn)場離奇詭異陪腌,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)烟瞧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進(jìn)店門诗鸭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人参滴,你說我怎么就攤上這事强岸。” “怎么了砾赔?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵蝌箍,是天一觀的道長。 經(jīng)常有香客問我暴心,道長妓盲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任专普,我火速辦了婚禮悯衬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脆诉。我一直安慰自己甚亭,他們只是感情好贷币,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著亏狰,像睡著了一般役纹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上暇唾,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天齐苛,我揣著相機(jī)與錄音坡锡,去河邊找鬼退子。 笑死浓利,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的够挂。 我是一名探鬼主播旁仿,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼孽糖!你這毒婦竟也來了枯冈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤办悟,失蹤者是張志新(化名)和其女友劉穎尘奏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體病蛉,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炫加,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铺然。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俗孝。...
    茶點(diǎn)故事閱讀 40,918評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖探熔,靈堂內(nèi)的尸體忽然破棺而出驹针,到底是詐尸還是另有隱情烘挫,我是刑警寧澤诀艰,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站饮六,受9級特大地震影響其垄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卤橄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一绿满、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窟扑,春花似錦喇颁、人聲如沸漏健。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔫浆。三九已至,卻和暖如春姐叁,著一層夾襖步出監(jiān)牢的瞬間瓦盛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工外潜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留原环,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓处窥,卻偏偏與公主長得像嘱吗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子滔驾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容