android studio 中 gradle 配置与说明
首先在android studio中,gradle工具版本和gradle版本(或者插件版本)。gradle工具版本就是我们安装android studio的时候,同时也会安装gradle工具版本,因为gradle是android studio中集成的打包工具。就像你在eclipse中安装配置adt,那么在安装adt的时候,也会安装ant工具。在eclipse中打包apk 主要是ant实现的。
gradle 工具 对应着 多个 gradle 插件(gradle wrapper),默认安装 gradle工具时候会默认安装 同版本的gradle wrapper。 其他的gradle插件下载 放置在 user/.gradle/下面。
查看自己的gradle工具版本:
先到android studio安装目录下
gradle 文件夹进去查看:
这个gradle版本和自己的android studio版本号一般是一致的!!!
使用android studio创建自己的工程,或者导入别人的工程 查看配置的gradle工具版本号:
整个工程的根目录下面有一个gradle文件
查看自己工程中的gradle配置,file->setting->build->gradle,自己可以在这里设置
上图中红色圈内一般是gradle默认的,指向自己工程中gradle文件夹中的 gradle-wrapper.properties文件(如下图)
但是如果这里面的文件不是 gradle工具下面的gradle插件版本,那么自动会去下载!gradle工具下面的gradle 插件版本查看 如下:
其还是我们gradle工具安装的目录下,有一个lib文件夹 ,默认安装的插件版本和gradle工具版本一般版本号一致。
那么如果我们配置的 user local gradle
那么就会默认使用 gradle工具安装中的插件版本。
还有一个问题 就是我们设置了 use default gradle wrapper即指向自己的 配置的工程中gradle文件夹中的 gradle-wrapper.properties 这个gradle wrapper没有在 gradle工具安装目录下 如:我使用的是
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
那么 这个 是到哪去找wrapper 插件版本?????
wrapper.properties 文件如下:
#Wed Oct 21 11:34:03 PDT 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip第一个参数 distributionbase 指向我们的 寻找插件的目录,如下
第二个参数 指向下面的list文件夹
这里面都是我们下载的gradle 插件版本,我们也可以翻墙下载好,放置到这里面。以方便我们使用。
可见指向wrapper.properties 其实 是到 C:\Users\xxxxxx\wrapper\dists 这个目录 寻找我们的插件版!!!!!
gradle 工具对应的插件 映射关系: 就是 插件 有很多 以供 gradle工具 调用打包apk
如果我们再 setting - buider - gradle中配置如下:
就是 一切都是离线的,不去联网下载。那么我们本地使用的jar 包必须都是下载好的,而且 gradle 插件版本也是下载好的,在 C:\Users\xxxxxx\wrapper\dists 这个目录下。
接着说 这个工程下面 gradle文件:
图中红圈是什么,是指向工程下载一个库的地址!!!
dependencies { compile project(':androidQuery') compile project(':libraryGridHeader') compile project(':libraryViewPagerIndicator') compile project(':twittersdk') // compile 'joda-time:joda-time:2.3' compile files('libs/joda-time-2.3.jar') compile files('libs/FlurryAnalytics_3.3.0.jar') compile files('libs/acra-4.5.0.jar') compile files('libs/androidsdk.jar') // compile files('libs/com-google-code-gson_gson.jar') // compile files('libs/com-squareup-retrofit_retrofit.jar') // compile files('libs/com-twitter-sdk-android_tweet-composer.jar') // compile files('libs/com-twitter-sdk-android_twitter-core.jar') compile files('libs/drmproxy.jar') compile files('libs/facebooksdk.jar') // compile files('libs/io-fabric-sdk-android_fabric.jar') compile files('libs/nexplayersample.jar') compile files('libs/zxing-2.2.jar') }你在 工程中
compile project(':androidQuery') compile project(':libraryGridHeader') compile project(':libraryViewPagerIndicator') compile project(':twittersdk')这些库就是到jcenter去下载,(jcenter 是国外的仓库服务器地址)当然你们公司或者你自己搭建服务器放置自己的lib库 可以指向自己的 服务器地址
allprojects { repositories { // jcenter() maven { url "http://10.46.150.105:4444/nexus/content/groups/external/" } } }
maven { url "http://10.46.150.105:4444/nexus/content/groups/external/" }
这个地址是我自己的!!! maven 管理仓库!!!!
compile 'joda-time:joda-time:2.3'
compile 'joda-time:joda-time:2.3' 中每一个“:”代表一级目录!!!joda-time:2.3 就是放在url "http://10.46.150.105:4444/nexus/content/groups/external/joda-time/
如果自己拿到了 lib 直接放置在lib工程文件下 然后 改成 compile files('libs/joda-time-2.3.jar')
gradle 配置 和 gradle 使用说明 结束 !!!是不是 有一个 整体的认识呢!!!!!!!