android build.gradle.kts 风格的实现

Kit*_*fer 4 android android-gradle-plugin gradle-kotlin-dsl

我正在将我的转换build.gradlebuild.gradle.ktsDSL。到目前为止,转换很顺利。但在我之前使用过的 groovy 中,当涉及到风味依赖时,我陷入了困境:

nameofflavourImplementation  "some.dependency:1.0.0"
Run Code Online (Sandbox Code Playgroud)

我读了很多关于如何做到这一点的内容,但没有运气,例如:

val nameofflavour by configurations.creating
nameofflavour(group="",name="some.dependency:1.0.0",ext = "aar")
Run Code Online (Sandbox Code Playgroud)

这会导致配置未知的编译错误。

我使用 gradle:6.4.1

编辑:

productFlavors {
    create("nameofflavour") {
        dimension = "full"
        applicationId = "com.someid.android"
    }
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我吗?

Sau*_*rat 14

由于您正在使用create("nameofflavour"),nameofflavour是动态注册的。因此,在声明依赖项之前,它需要位于范围内:

val nameofflavourImplementation by configurations
dependencies {
    nameofflavourImplementation("some.dependency:1.0.0")
}
Run Code Online (Sandbox Code Playgroud)

或者

您可以直接将其用作字符串:

dependencies {
    "nameofflavourImplementation"("some.dependency:1.0.0")
}
Run Code Online (Sandbox Code Playgroud)