美文网首页
Android Studio:Grade 全局参数定义

Android Studio:Grade 全局参数定义

作者: 花花是男神 | 来源:发表于2018-05-11 13:46 被阅读0次

    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

    }

    相关文章

      网友评论

          本文标题:Android Studio:Grade 全局参数定义

          本文链接:https://www.haomeiwen.com/subject/plqzrftx.html