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. flask的使用(一)

    1.程序基本的说明 #-*-encoding=utf--*- 从flask中引入类 from flask import Flask ,render_template import config 初始化 ...

  2. (转)chrome浏览器收藏夹(书签)的导出与导入

    导出chrome浏览器的书签到一个文件中.首先选择chrome浏览器的书签管理器菜单.然后点击“整理”,然后选择“将书签导出到html文件”. 步骤阅读 2 将导出的html文件保存,用于下次导入,这 ...

  3. [Angular] Creating an Observable Store with Rx

    The API for the store is really simple: /* set(name: string, state: any); select<T>(name: stri ...

  4. Java 字符转Unicode

    static String unicode2String(String unicodeStr) { StringBuffer sb = new StringBuffer(); String str[] ...

  5. Behavioral模式之Memento模式

    1.意图 在不破坏封装性的前提下,捕获一个对象的内部状态.并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态. 2.别名 Token 3.动机 有时候有必要记录一个对象的内部状态.为 ...

  6. Java虚拟机解析篇之---内存模型

    今天闲来无事来,看一下Java中的内存模型和垃圾回收机制的原理.关于这个方面的知识,网上已经有非常多现成的资料能够供我们參考,可是知识还是比較杂的,在这部分知识点中有一本书不得不推荐:<深入理解 ...

  7. php实现 统计每个月兔子的数量

    php实现 统计每个月兔子的数量 一.总结 一句话总结:想清楚再动,怎么可能出错嘛. 二.统计每个月兔子的数量 题目描述 有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又 ...

  8. 【60.97%】【BZOJ 1925】 [Sdoi2010]地精部落

    Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1194  Solved: 728 [Submit][Status][Discuss] Descript ...

  9. zzuli OJ 1128: 课程平均分

    Description 期末考试结束,班主任拿到了本班学生的成绩汇总表.由m行n列组成(本班共同拥有m名学生,本学期有n门课程),每行是一个同学的n门课程成绩,请编敲代码,计算并输出每门课的平均分.结 ...

  10. Android 调整透明度的图片查看器

    本文以实例讲解了基于Android的可以调整透明度的图片查看器实现方法,具体如下:  main.xml部分代码如下: <?xml version="1.0" encoding ...