我在为 debug
和 release
构建类型以及维度指定不同的依赖项时遇到问题。
在我的 app.gradle
中,我指定了 1 个维度 和 2 个 productFlavors,如下所示:
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";
}
然而,这失败了
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.
也许我以错误的方式接近了这个要求。任何帮助将不胜感激。
P.S 我正在使用版本 3.1.2
的 android gradle 插件和版本 4.7
的 gradle wrapper。
最佳答案
This section Android Studio 手册的指示您需要在使用变体配置之前显式声明变体配置,即:
configurations {
freeDebugImplementation
paidDebugImplementation
freeReleaseImplementation
paidReleaseImplementation
}
我不知道情况是否仍然如此,但值得一试。
关于android - 特定 flavor 依赖性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50044684/