"Android Gradle" Где я могу найти определения и / или коды тонн переменных в файлах Gradle? - PullRequest
0 голосов
/ 20 мая 2019

В разработке 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 является строкой.

Итак, двух вышеуказанных документов недостаточно, я считаю.

...