【问题标题】:Shared file for Kotlin DSL Android LibrariesKotlin DSL Android 库的共享文件
【发布时间】:2021-03-25 05:54:30
【问题描述】:

对于我们的多模块 Android 项目,我们将 Kotlin DSL 用于我们的项目 build.gradle.kts、应用程序模块 build.gradle.kts、settings.gradle.kts。但是,我们想将我们的库模块 .gradle 文件转换为 Kotlin DSL。我们遇到的问题是我们在应用脚本时得到了Unresolved reference: android

我没有看到任何关于为 Android 库提供可应用于 Android 库模块的共享 gradle.kts 文件的明确示例。

【问题讨论】:

    标签: android kotlin gradle dsl android-library


    【解决方案1】:

    有两种方法,一种比另一种更复杂。

    Gradle 脚本使用动态分辨率,这就是为什么您可以将它们放在任何目录中,然后将它们应用到您的构建文件中。

    有两种方法可以解决这个问题,都涉及到 buildSrc/ 目录。

    1. 您可以使用kotlin-dsl-precompiled-script-plugins

    预编译脚本插件是一个 Kotlin 脚本编译为 常规的 Kotlin 源代码集并以通常的方式分发,如 java 打包在某个库中的类文件,旨在作为二进制文件使用 Gradle 插件。

    https://github.com/gradle/kotlin-dsl-samples/tree/master/samples/precompiled-script-plugin

    1. 您可以创建一个自定义 Gradle 插件来配置项目。

    Here 是一个很好的例子,其中包含更多细节和一个 example 回购展示了实现。

    【讨论】:

    • 感谢本指南真的帮助并说清楚了!我选择了预编译选项。
    猜你喜欢
    • 2021-12-16
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 2018-08-01
    • 2018-02-20
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    相关资源
    最近更新 更多