在android studio上运行项目,gradle的配置是必不可少的,但是随着项目的逐渐成长,迎面而来的就是.各种依赖包的添加,数不胜数的签名,渠道包等,整个gradle变得很乱,这样其实我们可以将gradle的部分内容分离出来放在另一个自定义gradle内. 如这时我们添加的Plugin 就只要对其赋值就可以了.

  • 步骤:

  • 在总项目根目录下创建 dependencies.gradle文件(名字可以自定义)

  • 根目录下创建的自定义内容如下:

需要注意的是在dependencies.gradle文件中向Project添加额外的Property时,我们并不能直接定义,而是应该通过ext来定义。

一般我们使用闭包的方式,代码如下:


ext {

//添加supportLibraryVersion属性

supportLibraryVersion = '23.1.1'

//添加dependenciesretrofitVersion属性

dependenciesretrofitVersion = '2.0.0-beta2'    

//添加dependencies数组

dependencies = [

    retrofit             : "com.squareup.retrofit:retrofit:$retrofitVersion",

    retrofitConverterGson: "com.squareup.retrofit:converter-gson:$retrofitVersion",

    retrofitAdapterRxJava: "com.squareup.retrofit:adapter-rxjava:$retrofitVersion",

    ]

}
  • 也可以不使用闭包的

//添加supportLibraryVersion属性

ext.supportLibraryVersion = '23.1.1'

//添加dependenciesretrofitVersion属性

ext.dependenciesretrofitVersion = '2.0.0-beta2'
  • 当然gradle其实已经提供了很多自定义的property,一些常用的有:

project:Project本身

name:Project的名

description:Project的描述

version:Project的版本号

path:Project的绝对路径

buildDir:Project构建结果存放目录

  • 在根目录的build.gragle下添加

apply from: 'dependencies.gradle'
  • 接着在知道app工程的builde.gradle下添加依赖如下:

dependencies {

    //获取 dependencies.gradle 自定义的数组

    Map<String, String> dependencies = rootProject.ext.dependencies

    compile dependencies.retrofit

    compile dependencies.retrofitConverterGson

    compile dependencies.retrofitAdapterRxJava

}
  • 当然也可以配置其他,如 defaultConfig

当前app下的defaultConfig,引用dependencies.gradle 配置的参数


defaultConfig {
   minSdkVersion rootProject.ext.androidMinSdkVersion
   targetSdkVersion rootProject.ext.androidTargetSdkVersion
}

自定义gradle的property的更多相关文章

  1. java基础---->自定义gradle的插件

    这里面简单的介绍一下gradle插件的编写. 自定义gradle插件 我们编写的gradle脚本一般是放在build.gradle文件中.所以首先创建一下build.gradle文件,下面的例子都是在 ...

  2. AS 自定义 Gradle plugin 插件 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. Gradle的构建过程都不会?带你全面了解Android如何自定义Gradle 插件

    目前 Android 工程的默认构建工具为 Gradle,我们在构建 APK 的时候往往会执行 ./gradlew assembleDebug 这样的命令.. 那么这个命令到底代表着什么含义呢?命令的 ...

  4. 手把手带你自定义 Gradle 插件 —— Gradle 系列(2)

    请点赞加关注,你的支持对我非常重要,满足下我的虚荣心. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友 ...

  5. AndroidTest工程的自定义gradle task

    由于需要将assets目录的资源拷贝到设备sdcard中,然而我的工程是一个android test工程,而android test工程在编译阶段,不会把assets目录的资源打包成对应apk,而为了 ...

  6. 自定义gradle plugin

    最近开始接触gradle 正好有个需求apidoc

  7. 自定义gradle插件

    重点学习https://www.jianshu.com/p/804d79415258 https://blog.csdn.net/l2show/article/details/53925543 htt ...

  8. Gradle学习系列之五——自定义Property

    在本系列的上篇文章中,我们讲到了增量式构建,在本篇文章中,我们将讲到如何自定义Project的Property. 请通过以下方式下载本系列文章的Github示例代码: git clone https: ...

  9. gradle 自定义插件 下载配置文件

    1.新建Gradle项目: 2.建立src/main/groovy目录,并添加如下代码: ConfigPlugin.groovy package com.wemall.config import or ...

随机推荐

  1. Settings.settings

    项目的设置,有些设置是不能变的,有些设置是由用户决定的,Settings.settings都能搞定. 范围是应用程序级别的是只读属性,范围是用户级别的可读写 读取的方式是: Properties.Se ...

  2. Thread 调用方法的方式

    1.传统ThreadStart 2.ParameterizedThreadStart 3.委托thread = new Thread(delegate() { NoticeBroadcast(user ...

  3. JS的replace默认只替换第一个匹配项

    1. JS的replace默认只替换第一个匹配项. 解决方法: 使用正则表达式进行匹配替换[   ①.replace(new RegExp(②,"g") ,③);   ] ①:包含 ...

  4. PHP 5 Math 函数

    PHP Math 简介 Math 函数能处理 integer 和 float 范围内的值. 安装 PHP Math 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. PHP 5 Math 函 ...

  5. Ubuntu命令行启动Matlab

    原文转自:http://blog.csdn.net/striker_v/article/details/52884485 小编安装的是Matlab R2015b,使用的是默认安装目录,安装在目录/us ...

  6. 将Gradle项目发布到Jcenter和Maven Central

    Jcenter和Maven Central 为了方便我们理解Android studio是如何帮助我们获取开源库的,我们需要理清几个概念.Apache Maven是Apache开发的一个工具,提供了用 ...

  7. 23 服务的绑定启动Demo3

    MainActivity.java package com.example.day23_service_demo3; import com.example.day23_service_demo3.My ...

  8. Asp.net 在刷新或提交页面后保持滚动条的位置

    网页内容在较长时,每次回传刷新页面或提交网页时都会定位到最顶端,非常不利于用户交互. 将Page.MaintainScrollPositionOnPostBack属性值设置为true即可实现刷新后保持 ...

  9. Hive-ORC文件存储格式

    ORC文件格式是从Hive-0.11版本开始的.关于ORC文件格式的官方文档,以及基于官方文档的翻译内容这里就不赘述了,有兴趣的可以仔细研究了解一下.本文接下来根据论文<Major Techni ...

  10. Android-MVVM架构-Data Binding的使用

    项目整体效果: Awesome-Android-MVVM 什么是MVVM, 为什么需要 MVVM? 如何在Android中使用Data Binding实现MVVM架构? 什么是MVVM , 为什么需要 ...