【问题标题】:Where is the documentation for build.gradle's `android` block?build.gradle 的 `android` 块的文档在哪里?
【发布时间】:2021-01-24 08:58:03
【问题描述】:

在 build.gradle 中,我们有 android 块。根据我对 Android Gradle 插件(和 Groovy/Kotlin)的有限理解,这是一个名为 android 的方法/(或函数?),它接受一个参数,一个闭包。

android {
    compileSdkVersion(AppConfig.compileSdkVersion)
    buildToolsVersion(AppConfig.buildToolsVersion)
}

我在 Google Developer 网站和 Gradle.org 上都找不到任何关于 android 的文档。该函数与整个操作系统具有相同的名称并没有帮助。任何有关 Android Gradle 插件的文档都会有所帮助,因为有关它的信息似乎遍布 Android 文档。到目前为止,我可以搜索每个属性的含义(例如applicationIdtestInstrumentationRunner),但我想查看android 拥有的所有属性,这是文档派上用场的地方。

引发所有这些问题的是"Introduction to Groovy and Gradle"

我能够在 Android Studio 中通过自动完成功能获得 android 方法的“包名称”(可能):com.android.build.gradle.internal.dsl.BaseAppModule,但找不到源代码或文档...

【问题讨论】:

    标签: android gradle android-gradle-plugin


    【解决方案1】:

    请注意,您的问题中提到的android 关键字不是函数/方法。

    android { } 是一个 android 块,您可以在其中配置所有特定于 Android 的构建选项。

    此外,到目前为止,还没有专门针对此区块的特定文档。
    但是,为了帮助您,我已经确定了可以放置在此块中的以下属性。

    android {
        compileSdkVersion 30
        buildToolsVersion "30.0.2"
    
        defaultConfig {
        
        }
    
        buildTypes {
            
        }
        compileOptions {
            
        }
        kotlinOptions {
           
        }
        packagingOptions {
            
        }
    
    }

    【讨论】:

    • Gradle 文件使用基于 Groovy 的领域特定语言 (DSL)。因此,Gradle 文件中的所有块都是采用闭包的方法调用(类似于 lambda 函数)。查看 Martin Zeitler 回答中关于如何实现 DSL 的链接。
    猜你喜欢
    • 2014-02-08
    • 2019-03-07
    • 1970-01-01
    • 2017-04-08
    • 2015-02-21
    • 2014-06-27
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多