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