Как установить глобальную переменную, к которой можно получить доступ из build.gradle и задач?
Android gradle build: как установить глобальные переменные
Ответ 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"