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镜像