自定义gradle的property
在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的更多相关文章
- java基础---->自定义gradle的插件
这里面简单的介绍一下gradle插件的编写. 自定义gradle插件 我们编写的gradle脚本一般是放在build.gradle文件中.所以首先创建一下build.gradle文件,下面的例子都是在 ...
- AS 自定义 Gradle plugin 插件 案例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Gradle的构建过程都不会?带你全面了解Android如何自定义Gradle 插件
目前 Android 工程的默认构建工具为 Gradle,我们在构建 APK 的时候往往会执行 ./gradlew assembleDebug 这样的命令.. 那么这个命令到底代表着什么含义呢?命令的 ...
- 手把手带你自定义 Gradle 插件 —— Gradle 系列(2)
请点赞加关注,你的支持对我非常重要,满足下我的虚荣心. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友 ...
- AndroidTest工程的自定义gradle task
由于需要将assets目录的资源拷贝到设备sdcard中,然而我的工程是一个android test工程,而android test工程在编译阶段,不会把assets目录的资源打包成对应apk,而为了 ...
- 自定义gradle plugin
最近开始接触gradle 正好有个需求apidoc
- 自定义gradle插件
重点学习https://www.jianshu.com/p/804d79415258 https://blog.csdn.net/l2show/article/details/53925543 htt ...
- Gradle学习系列之五——自定义Property
在本系列的上篇文章中,我们讲到了增量式构建,在本篇文章中,我们将讲到如何自定义Project的Property. 请通过以下方式下载本系列文章的Github示例代码: git clone https: ...
- gradle 自定义插件 下载配置文件
1.新建Gradle项目: 2.建立src/main/groovy目录,并添加如下代码: ConfigPlugin.groovy package com.wemall.config import or ...
随机推荐
- eclipse安装和配置Gradle插件
配置: 首先下载Gradle:https://gradle.org/gradle-download/ 设置Gradle环境变量: GRADLE_HOME %GRADLE_HOME%\bin" ...
- hive升级遇到的几个小问题
1.hiveserver2正常启动,但是beeline连不上服务. 我的服务是开在本机的,但是用主机名和127好像都不能访问服务了 jdbc:hive2://172.19.1.11:10000> ...
- “你什么意思”之基于RNN的语义槽填充(Pytorch实现)
1. 概况 1.1 任务 口语理解(Spoken Language Understanding, SLU)作为语音识别与自然语言处理之间的一个新兴领域,其目的是为了让计算机从用户的讲话中理解他们的意图 ...
- Java内存泄漏分析系列之六:JVM Heap Dump(堆转储文件)的生成和MAT的使用
原文地址:http://www.javatang.com JVM Heap Dump(堆转储文件)的生成 正如Thread Dump文件记录了当时JVM中线程运行的情况一样,Heap Dump记录了J ...
- sorted函数返回一个新的列表就安全了吗?
arr=[[1,2,3],[4,2,3],[5,2,3]] x2=sorted(arr) print 'sorted',x2 print '-'*20 for ar in arr: ar.append ...
- linux下数据同步、回写机制分析
一.前言在linux2.6.32之前,linux下数据同步是基于pdflush线程机制来实现的,在linux2.6.32以上的版本,内核彻底删掉了pdflush机制,改为了基于per-bdi线程来实现 ...
- oracle伪列
Oracle的伪列以及伪表 oracle系统为了实现完整的关系数据库功能,系统专门提供了一组成为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Ora ...
- Erlang的常驻模块与功能模块
Erlang的常驻模块与功能模块Residence moduleThe module where a process has its tail-recursive loop function(s).I ...
- ORACLE数据库学习之SQL性能优化详解
Oracle sql 性能优化调整 ...
- Swift基础之设计折线坐标图
最近添加了折线视图的样式,所以在这里用Swift语言重新再使用设计一下 首先设置纵坐标的数值是:体重 //体重 let weightLabel = UILabel.init(frame: ...