自定义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 ...
随机推荐
- Wcf host
Uri baseAddress = new Uri(uri);//var binding = new WebHttpBinding(WebHttpSecurityMode.None); var bas ...
- 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】
Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing vi ...
- 下篇:python的基本数据类型以及对应的常用方法(列表、元组、字典、集合)
为了日后便于查询,本文所涉及到的所有命令集合如下: python中的基本数据类型有数字.字符串.布尔值.列表.元组.字典.就像每一个职业有自己特定的技能,比如医生能看病,农民能种田,每种数据类型也有属 ...
- Struts2 转换器
转换器 从一个 HTML 表单到一个 Action 对象,类型转换是从字符串到非字符串 Http 没有 "类型" 的概念,每一项表单的输入只可能是一个字符串或一个字符串数组,在服务 ...
- 【java集合系列】--- LinkedList
开篇前言--LinkedList中的基本用法 在前面的博文中,小编介绍List接口中的ArrayList集合,List这个接口,有两个实现类,一个就是ArrayList另一个是LinkedList(链 ...
- Appium移动自动化测试(三)--安装Android模拟器(建议直接连手机,跳过此步)
转自虫师,亲测有效,留备后用. 本文中如果直接安装时不出现错误,则可以忽略(一.二.三.四.五),我安装的是5.1.1,直接成功,就是有点慢,要有耐心. 如果到最后一步,启动不起来,报错: emula ...
- 【安卓开发】Android系统中Parcelable和Serializable的区别
http://greenrobot.me/devpost/android-parcelable-serializable/ 进行Android开发的时候,我们都知道不能将对象的引用传给Activiti ...
- Android fragment(片段)构建灵活的UI
在以支持多种屏幕尺寸为目标设计应用时,您可以在不同的布局配置中重复使用您的fragment 从而根据可用的屏幕空间优化用户体验. 例如,在手机设备上,由于采用单窗格用户界面,因此可能更适合一次只显示一 ...
- LATEX TEMPLATE (SPRINGER) (*.BST)
该模板在哪里下载? http://www.springer.com/computer/image+processing/journal/11263, Instructions for Authors, ...
- Xcode7.2如何真机调试iOS 9.3的设备
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 本猫的mac系统为10.10,Xcode版本为7.2 本猫将i ...