特定的风味依赖性

7

我在同时使用维度和debugrelease构建类型时遇到了一些问题。

在我的app.gradle文件中,我指定了1个维度2个产品口味,如下所示:

android {

    [...]

    flavorDimensions "tier"
    productFlavors {
        free {
            dimension "tier"
        }
        paid {
            dimension "tier"
        }
    }
}

现在我想为所有的构建变体(freeDebug, freeRelease, paidDebug, paidRelease)指定不同的依赖项,并尝试这样做:

dependencies {
    freeDebugImplementation "com.someDependency:free-debug:1.0.0";
    paidDebugImplementation "com.someDependency:paid-debug:1.0.0";

    freeReleaseImplementation "com.someDependency:free-release:1.0.0";
    paidReleaseImplementation "com.someDependency:paid-release:1.0.0";
}

然而,这在IT技术方面存在问题。
Could not find method freeDebugImplementation() for arguments [com.someDependency:free-debug:1.0.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

也许我对这个需求的处理方式不太正确,非常感谢您能提供帮助。
附注:我正在使用Android Gradle插件版本3.1.2和Gradle包装器版本4.7
1个回答

10
Android Studio手册的这个部分指出,在使用变体配置之前,您需要明确声明它们,即使用以下代码:

这个链接

configurations {
    freeDebugImplementation
    paidDebugImplementation
    freeReleaseImplementation
    paidReleaseImplementation
}

我不知道现在是否仍然如此,但值得一试。

与 https://dev59.com/Fqrka4cB1Zd3GeqPlO3X 相同的问题。 - Peter Ledbrook
成功了。谢谢!(不过我还是希望不必这样做) - Joao Sousa
有没有更好的方法来为多个风味设置依赖关系,因为我有超过10个风味。 - Viks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接