Android Studio:Grade 全局參數定義


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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM