- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想将我的项目升级到 Android Studio 3.0 Canary 1 和 gradle:3.0.0-alpha1 插件,但是我对包含项目的风格的正确定义有疑问。
我遵循了 Google 的官方迁移指南:https://developer.android.com/studio/preview/features/new-android-plugin-migration.html
在我的主应用 build.gradle 中,我按照迁移指南的建议定义了“myflavor”flavorDimensions:
android {
flavorDimensions "myflavor"
productFlavors {
dev {
dimension "myflavor"
minSdkVersion 21
}
prod {
dimension "myflavor"
minSdkVersion 16
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
debuggable false
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dependencies {
compile project(':util')
}
在我包含的 :util 模块(生产者)中,我尝试在没有定义 flavorDimensions、productFlavors 和 buildTypes 的情况下包含它。我收到以下 gradle 错误:
Error:Could not resolve all dependencies for configuration ':app:prodDebugCompileClasspath'.
Cannot choose between the following configurations on project :util:
- debugApiElements
- releaseApiElements
All of them match the consumer attributes:
- Configuration 'debugApiElements':
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but no value provided.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but wasn't required.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but no value provided.
- Found com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=debug}' but wasn't required.
- Required myflavor 'ProductFlavorAttr{name=prod}' but no value provided.
- Required org.gradle.api.attributes.Usage 'for compile' and found compatible value 'for compile'.
- Configuration 'releaseApiElements':
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but no value provided.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but wasn't required.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but no value provided.
- Found com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=release}' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=release}' but wasn't required.
- Required myflavor 'ProductFlavorAttr{name=prod}' but no value provided.
- Required org.gradle.api.attributes.Usage 'for compile' and found compatible value 'for compile'.
在 :util 中定义与 main :app 中相同的 flavorDimensions、productFlavors 和 buildTypes 时,我收到以下错误消息:
Error:Could not resolve all dependencies for configuration ':app:prodDebugCompileClasspath'.
Cannot choose between the following configurations on project :util:
- devDebugApiElements
- devReleaseApiElements
- prodDebugApiElements
- prodReleaseApiElements
All of them match the consumer attributes:
- Configuration 'devDebugApiElements':
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but no value provided.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but wasn't required.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but no value provided.
- Found com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=devDebug}' but wasn't required.
- Required myflavor 'ProductFlavorAttr{name=prod}' but no value provided.
- Found myflavor 'ProductFlavorAttr{name=dev}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for compile' and found compatible value 'for compile'.
- Configuration 'devReleaseApiElements':
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but no value provided.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but wasn't required.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but no value provided.
- Found com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=release}' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=devRelease}' but wasn't required.
- Required myflavor 'ProductFlavorAttr{name=prod}' but no value provided.
- Found myflavor 'ProductFlavorAttr{name=dev}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for compile' and found compatible value 'for compile'.
- Configuration 'prodDebugApiElements':
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but no value provided.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but wasn't required.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but no value provided.
- Found com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=prodDebug}' but wasn't required.
- Required myflavor 'ProductFlavorAttr{name=prod}' but no value provided.
- Found myflavor 'ProductFlavorAttr{name=prod}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for compile' and found compatible value 'for compile'.
- Configuration 'prodReleaseApiElements':
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but no value provided.
- Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' but wasn't required.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=debug}' but no value provided.
- Found com.android.build.gradle.internal.dependency. 'BuildTypeAttr{name=release}' but wasn't required.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=prodRelease}' but wasn't required.
- Required myflavor 'ProductFlavorAttr{name=prod}' but no value provided.
- Found myflavor 'ProductFlavorAttr{name=prod}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for compile' and found compatible value 'for compile'.
包含我的 :util lib 而不出现错误的正确方法是什么?
最佳答案
似乎是 Gradle 构建过程中的一个错误,我不太确定它到底为什么不起作用。我被困了一段时间,但我能够通过改变来解决它
compile project(':util')
到
compile project(path: ':util', configuration: 'default')
让我知道这是否适合你!
关于android - flavorDimensions gradle 错误 - Android Studio 3.0 Canary 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44114044/
在应用程序中,有 2 个 flavorDimensions,每对都有单独的 firebase 项目。有什么方法可以为它们中的每一个设置 firebaseAppDistribution 吗? 最佳答案
我有一个应用程序的两个维度,然后调用绿色和蓝色。只有这两个维度,但有无限数量的产品口味。这是我在 gradle 中设置它的方式 flavorDimensions "green", "blue" pro
我有一个旧的 android 应用程序,我正在尝试迁移到 android gradle 构建系统。该应用程序当前构建在多项目设置中,并作为四个不同的应用程序发布(包括两个不同的数据集和两个数据集的免费
由于 Android Studio 北极狐最近已经稳定,我们的团队决定进行切换。但是,我们在升级项目以使用最新的 AGP(从 4.2.1 开始)时遇到了一些障碍。至7.0.0下面是我们的旧app/bu
我有使用不兼容的 applicationId 的旧应用程序。我试图用 flavorDimensions 迁移它们以共享如此常见的 Assets 和代码。我有这个口味设置: defaultConfig
我想将我的项目升级到 Android Studio 3.0 Canary 1 和 gradle:3.0.0-alpha1 插件,但是我对包含项目的风格的正确定义有疑问。 我遵循了 Google 的官方
我正在使用 Kotlinscript 文件将 Android 应用程序转换为 Gradle Kotlin-DSL。 我在转换 applicationId 时遇到问题逻辑。我们不使用 defaultCo
从 com.android.tools.build:gradle:1.3.0 开始,您将得到 'flavorDimension' 将被 Android Gradle 插件 2.0 删除,它已被替换为
我是一名优秀的程序员,十分优秀!