Во-первых, вы вызываете внутренний геттер, поэтому у вас есть нули.
Доступ к свойству versionCode осуществляется с помощью getVersionCode().
Доступ к свойству versionName осуществляется с помощью getVersionName().
Итак, вы получаете null и назначаете null... - помните, что вы находитесь внутри области defaultConfig
, поэтому Gradle будет использовать ближайшую функцию gerVersionCode()
.
Есть более чистый способ сделать это в более новой версии Android Gradle (4.1.2).
Обычно эти значения выделяются в новый файл.
Во-первых, вы должны использовать closures
, а не functions
.
Функция:
def myFunction() {
}
Закрытие:
myClosure = {
}
Кроме того, вы можете расширить область ext
(она используется для хранения всех настраиваемых свойств Gradle для всего проекта, это отличное место для этого!) с помощью вашего закрытия!
Помните, что нельзя называть ваши функции «getVersionName», «getVersionCode».
Создайте файл config.gradle
:
ext {
appSetup = [
majorVersion : 1,
minorVersion : 0,
patchVersion : 0
]
getAppVersionCode = { appSetup.majorVersion * 10000 + appSetup.minorVersion * 100 + appSetup.patchVersion }
getAppVersionName = { "${appSetup.majorVersion}.${appSetup.minorVersion}.${appSetup.patchVersion}" }
In build.gradle
:
// applies bloc
apply from: 'config.gradle'
android {
versionCode getAppVersionCode()
versionName getAppVersionName()
person
Michał Dobi Dobrzański
schedule
08.02.2021