Подтвердить что ты не робот

Android gradle build: как установить глобальные переменные

Как установить глобальную переменную, к которой можно получить доступ из build.gradle и задач?

4b9b3361

Ответ 1

Чтобы установить глобальную переменную

project.ext.set("variableName", value)

Чтобы получить доступ к нему из любого места в проекте:

project.variableName

Например:

project.ext.set("newVersionName", versionString)

а затем...

println project.newVersionName

Для получения дополнительной информации см. http://www.gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html

ИЗМЕНИТЬ: Как прокомментировал Дмитрий, в новых версиях вы можете использовать следующую сокращенную версию:

project.ext.variableName = value

Ответ 2

Ответ от Гая превосходный. Я просто хочу добавить практический код.

Пример:

Поместите что-то подобное в Проект build.gradle:

project.ext {
    minSdkVersion = 21
    targetSdkVersion = 23
}

И добавьте что-то вроде этого в Модуль build.gradle для доступа к нему:

    defaultConfig {
        minSdkVersion.apiLevel project.minSdkVersion
        targetSdkVersion.apiLevel project.targetSdkVersion
    }

Ответ 3

вы также можете сделать это: скажем, вы хотите добавить appcompat с версией 25.3.1, вы можете добавить переменную имя_выпуска на уровне проекта gradle

buildscript{
     ext.version_name = '25.3.1'
}

теперь вы можете добавить это на свой уровень уровня сборки gradle и избежать конфликтов

compile "com.android.support:appcompat-v7:$version_name" compile "com.android.support:recyclerview-v7:$version_name" compile "com.android.support:design:$version_name"