В разработке Android мы используем систему построения gradle.Мы часто видим некоторые обычные коды в build.gradle:
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
testOptions {
unitTests.returnDefaultValues = true
}
defaultConfig {
applicationId "xxx"
minSdkVersion 19
targetSdkVersion 28
Мы также видим некоторые необычные коды, такие как:
javaCompileOptions {
annotationProcessorOptions {
arguments = ["xxx": "xxx"]
}
}
applicationVariants.all { variant ->
buildType = variant.buildType.name // Sets the current build type
}
Откуда вы знаете, что переменная buildType
variant
?Что за объект variant
?Могу ли я увидеть его детали?
Мы часто копируем / вставляем эти коды из интернета, не задумываясь, поэтому у нас нет систематического знания этих объявлений и переменных.
Интересно,есть какие-то документы и / или коды таких вещей?Так что мы можем искать, как в Javadoc, и писать файлы gradle более свободно, а не просто копировать / вставлять.
Я знаю, что есть два сайта:
http://google.github.io/android-gradle-dsl/current/index.html
http://google.github.io/android-gradle-dsl/javadoc/current/
Но они не разъясняют, почему существует определение variant.buildType
.Вы можете найти в следующем классе:
http://google.github.io/android-gradle-dsl/javadoc/current/com/android/build/api/variant/VariantInfo.html
есть определение:
getBuildTypeName()
Вы можете думать, что variant.buildType
из этого.
НО.getFlavorNames()
возвращает список, в то время как variant.flavorName
является строкой.
Итак, двух вышеуказанных документов недостаточно, я считаю.