Grade 全局参数定义

实际开发中设置公共的编译依赖参数等。

方法一:

在项目外层的build.gradle文件中定义,格式如下:

文件名:build.gradle

ext {

sourceCompatibility = JavaVersion.VERSION_1_7

targetCompatibility = JavaVersion.VERSION_1_7

compileSdkVersion = 25

buildToolsVersion = '25.0.3'

minSdkVersion = 19

targetSdkVersion = 26

supportVersion = '25.3.1'

supportV7CardView = "com.android.support:cardview-v7:${supportVersion}"

supportV4 = "com.android.support:support-v4:${supportVersion}"

supportFragment = "com.android.support:support-fragment:${supportVersion}"

...

}

在各个module的build.grade文件中获取以上定义变量方法为:

rootProject.ext.supportDesign

rootProject.ext.supportFragment

rootProject.ext.supportAnnotations

rootProject.ext.supportV7AppCompat

rootProject.ext.supportV7RecyclerView

rootProject.ext.supportV7CardView

方法二:

在gradle.properties中定义整个工程的全局gradle变量

在gradle.properties中定义如下变量

ANDROID_BUILD_MIN_SDK_VERSION=15

ANDROID_BUILD_TARGET_SDK_VERSION=23

ANDROID_BUILD_SDK_VERSION=23

ANDROID_BUILD_TOOLS_VERSION=23.0.2

在所有build.gradle中可以这样使用:

compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)

buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION

方法三:

可以在根目录下建个config.gradle:

config.gradle文件内容如下:

ext {

android = [

compileSdkVersion: 23,

buildToolsVersion: "23.0.2",

minSdkVersion    : 14,

targetSdkVersion : 22,

]

dependencies = [

appcompatV7': 'com.android.support:appcompat-v7:23.2.1',

design      : 'com.android.support:design:23.2.1'

]

}

然后只需在根目录下build.gradle最顶部加上下面一行代码,然后同步下,意思就是所有的子项目或者所有的modules都可以从这个配置文件里读取内容。

apply from: "config.gradle"

在app/build.gradle中使用调用如下:

android {

compileSdkVersion rootProject.ext.android.compileSdkVersion

buildToolsVersion rootProject.ext.buildToolsVersion

defaultConfig {

applicationId "com.example.android"

minSdkVersion rootProject.ext.android.minSdkVersion

targetSdkVersion rootProject.ext.android.targetSdkVersion

versionCode 1

versionName "1.0"

}

...

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

testCompile 'junit:junit:4.12'

compile rootProject.ext.dependencies.appcompatV7

compile rootProject.ext.dependencies.design

}

作者:花花是男神
链接:https://www.jianshu.com/p/43d3e19e3e87
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Android Studio:Grade 全局参数定义的更多相关文章

  1. android studio——替换全局的某个字符串

    android studio——替换全局的某个字符串 edit - > replace in path https://blog.csdn.net/dragon0103/article/deta ...

  2. android studio+grade配置构建

    Android 构建系统编译应用资源和源代码,然后将它们打包成可供您测试.部署.签署和分发的 APK.android Studio 使用 Gradle 这一高级构建工具包来自动化执行和管理构建流程,同 ...

  3. Android Studio .grade文件知识

    1.位置 2.问题:当AndroidStudio版本不同的时候,导致.gradle文件版本不同(当前为2.10),因为AndroidStudio升级的时候会自动升级.gradle.这样通过svn加载到 ...

  4. Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌

    原文:Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌 通过前两期的学习,我们可以正确搭建好Android Studio的开发环境,也创建了HelloWorld工程 ...

  5. Android Studio 2.2以上支持了Cmake的配置JNI的相关参数

    Android Studio 2.2以上支持了Cmake的配置JNI的相关参数,简化了通过Android.mk配置.并很好的继承了C++的编辑方式.以下是对应的引入第三方so和第三方.cpp文件的路径 ...

  6. Android Studio 重写方法时参数命名异常

    Android Studio 重写方法时参数命名异常 Android Studio 重写方法时参数名称乱掉可以通过下载相应源码解决

  7. Android studio 自己定义打包APK名称

    Android Studio打包应用默认生成的apk名称是:app-release.apk .假设我们要让生成的apk名跟我们版本号包名有联系的话.那我们就要自己定义生成的apk名了,要怎么做呢. 我 ...

  8. Android studio设置参数提示

    在Android studio的使用的过程中,那么就需要对当前的代码显示当前的方式做一个的提示信息,那么可以通过Android studio的的设置的方法,来对Android studio方法的提示显 ...

  9. Android studio设置参数文档提示

    方法/步骤     进行点击Android studio菜单中的file的选项菜单.   弹出了下拉菜单中进行选择为"settings"的选项的菜单即可.   进入到了settin ...

随机推荐

  1. self.view.layer.contents 和 self.view.backgroundColor

    一. self.view.layer.contents 和 self.view.backgroundColor 今天测了一下 :    self.view.layer.contents 和 self. ...

  2. 【例题 6-8 UVA - 548】Tree

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 后序遍历的最后一个是根节点. ->然后在中序遍历中找到这个节点. 分为左右两段. 然后递归上述操作就好. 题目描述好坑啊. 原 ...

  3. [Docker] Create Docker Volumes for Persistent Storage

    Docker containers are stateless by default. In order to persist filesystem changes, you must use doc ...

  4. php 面试题一(看视频的学习量比网上瞎转悠要清晰和明了很多)(看视频做好笔记)(注重复习)

    php 面试题一(看视频的学习量比网上瞎转悠要清晰和明了很多)(看视频做好笔记)(注重复习) 一.总结 1.无线分类的本质是树(数据结构)(数的话有多种储存结构可以实现,所以对应的算法也有很多),想到 ...

  5. [AngularJS NG-redux] Integrate Redux Devtools

    In this lesson, we are going to learn how to integrate Redux Devtools into our Angular application. ...

  6. Effective C++ 条款28

    避免返回handles指向对象内部成分 本节作者讲述的知识核心是对于一个类来说,应该避免类返回自己内部的私有数据. 例如以下: class Point{ public: Point(int x, in ...

  7. 【2013】将x插入有序数列

    Time Limit: 3 second Memory Limit: 2 MB 将一个数x插入到有序数列a中,插入后a仍然有序. Input 第一行输入有序数列a的元素个数 第二行依次输入a的元素,以 ...

  8. 【u118】日志分析

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] M 海运公司最近要对旗下仓库的货物进出情况进行统计.目前他们所拥有的唯一记录就是一个记录集装箱进出情况 ...

  9. 2、Cocos2dx 3.0游戏开发找小三之引擎简单介绍

    尊重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27094663 引擎简单介绍 Cocos2d-x 的 ...

  10. iOS开发SDWebImage的基本使用

    #import "ViewController.h" #import "UIImageView+WebCache.h" #import "SDWebI ...