Gradle Android插件使用的中那些特別注意的點
Gradle 插件版本
這是截至目前在使用Gradle的過程中遇到的最大的坑。目前 gradle的Android插件官方提供了兩個版本:標準版本和實驗性版本。目前只有實驗性版本支持Native編譯。而實驗性版本對于Gradle的版本和NDK的版本都有特別說明,另外實驗性版本中對于一些參數的定義和聲明的方式與標準版并不一致。
下面是實驗性版本的官方用戶實用指南:
-
Experimental Plugin User Guide: http://tools.android.com/tech-docs/new-build-system/gradle-experimental
-
為了防止有些被墻的人看不到,添加一篇個人博客對于官方文檔的引用地址: http://blog.bihe0832.com/Experimental_Plugin_User_Guide.html
其實對于編譯中的大部分問題,以及上面說的參數定義的問題官方文檔都已經有具體說明,可以參照文檔來修改對應的gradle腳本。
對于實驗性版本的一些特別說明
相關環境
- 必須使用特定的Gradle版本:使用gradle 2.5
- 必須使用特定的NDK的版本:r10e
- 必須使用19.0.0以上的Android build tools
相關配置
- JNI 不再需要Android.mk和Application.mk文件,相關配置都添加在build.gradle中
- Native的so不是放在libs下面,而是放在代碼目錄中,與java和res同級,文件夾為jniLibs
- 實驗性版本里面的參數配置與標準版本很不一致,而且差距很大。例如對于key-value的參數,標準版是用空格分割,但是實驗性版本中必須用“=”
Gradle 編譯
使用Gradle的時候,當切換了配置的時候(例如修改了gradle版本、增加了新的依賴庫)后再次編譯的時候就需要重新去下載資源,然而由于墻的原因,這個過程會相當慢,反而會大大的影響開發的效率。因此推薦將一些常用的資源預下載到本地。
Gradle 本地配置
-
下載好Gradl的版本文件,建議下載gradle-2.5-all和最新的gradle的壓縮包。一般這兩個就可以滿足需要。
-
將下載好的zip文件,根據自己計算機的配置,放置到對應的文件夾,例如本地都是放在
/Users/zixie/zixie/Library/gradle/distribution/
-
修改對應項目根目錄gradle下gradle-wrapper.properties中對于gradle版本的說明,改為使用本地文件,例如:
#Wed Apr 10 15:27:10 PDT 2013 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=file\:/Users/zixie/zixie/Library/gradle/distribution/gradle-2.5-all.zip
Maven庫配置
由于墻的原因,很多資源更新很慢,正好nexus也推薦搭建私庫,因此最好的辦法就是自己搭建一套私服。自己也是在自己的Mac機器上部署一套私有倉庫代理,即用于自己的開發,也可以提供給團隊或者自己其余的機器使用。
具體部署的方法可以查看: Mac搭建私有maven倉庫,提供Nexus Responsitory鏡像