Во-первых, вы вызываете внутренний геттер, поэтому у вас есть нули.
Доступ к свойству 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