Я хочу получить доступ к defaultConfig, который определен в подпроекте (app -> build.gradle) в родительский build.gradle, но, похоже, не работает ИЛИ Я делаю что-то не так. На самом деле мне нужно получить доступ к build build, который я определяю в defaultConfig файла app build.gralde.
app build.gradle:
android {
def buildTypeV // define here to update in loop
dependencies.metaClass.allCompile { dependency ->
buildTypes.each { buildType ->
// "${buildType.name}Compile" project(path: ":${dependency.name}", configuration: buildType.name)
buildTypeV=buildType.name
}
}
defaultConfig {
versionNameSuffix "${buildTypeV}"
}
Из родительского файла build.gradle я делаю так, чтобы получить доступ к versionNameSuffix:
gradle.buildFinished {
def buildV=${project.android.defaultConfig.versionNameSuffix};
println "buildV:::: $buildV"
}
Кажется, это неправильный способ получить доступ к defaultConfig, так как сборка не удалась. Может кто-нибудь дать мне представление о том, как я могу получить к нему доступ правильно?
Ошибка, которую я вижу на консоли:
* What went wrong:
Could not find method $() for arguments [build_8kbbn8x9zcumz6eqfx8ryt61s$_run_closure2$_closure3@77596dd9] on root project 'df-backpack' of type org.gradle.api.Project.
В моем подпроекте определите вариант приложения:
android.applicationVariants.all { variant ->
variant.outputs.all {
def flavor = variant.name
outputFileName = "../app-${flavor}-final.apk"
}
variant.assembleProvider.get().doLast getbuilder(variant.name.toLowerCase())
}
// в родительском build.gradle:
project('hpnurse') {
buildStr=it. android.applicationVariants.all;
//also tried like this
//it.variant.buildType.name;
}