Gak*_*ket 49 android gradle build.gradle android-gradle-plugin
我试图在新的Android Studio 3.0 canary 2中打开我现有的项目.我根据说明更新了Gradle ,更改了依赖配置的名称,但我继续得到下一个错误:
Unable to resolve dependency for ':app@productionRelease/compileClasspath':
Could not resolve project : abChat.
Run Code Online (Sandbox Code Playgroud)
在另一个窗口:
Error:Could not resolve all dependencies for configuration ':bankOK:betaNewApiInnerTestRuntimeClasspath'.
> Unable to find a matching configuration in project :abChat:
- Configuration 'debugApiElements':
- Required apiLvl 'ProductFlavorAttr{name=newApi}' but no value provided.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' and found compatible value 'AndroidTypeAttr{name=Aar}'.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=innerTest}' and found incompatible value 'BuildTypeAttr{name=debug}'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=debug}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for runtime' and found incompatible value 'for compile'.
- Required releaseType 'ProductFlavorAttr{name=beta}' but no value provided.
- Configuration 'debugRuntimeElements':
- Required apiLvl 'ProductFlavorAttr{name=newApi}' but no value provided.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' and found compatible value 'AndroidTypeAttr{name=Aar}'.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=innerTest}' and found incompatible value 'BuildTypeAttr{name=debug}'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=debug}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for runtime' and found compatible value 'for runtime'.
- Required releaseType 'ProductFlavorAttr{name=beta}' but no value provided.
- Configuration 'releaseApiElements':
- Required apiLvl 'ProductFlavorAttr{name=newApi}' but no value provided.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' and found compatible value 'AndroidTypeAttr{name=Aar}'.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=innerTest}' and found incompatible value 'BuildTypeAttr{name=release}'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=release}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for runtime' and found incompatible value 'for compile'.
- Required releaseType 'ProductFlavorAttr{name=beta}' but no value provided.
- Configuration 'releaseRuntimeElements':
- Required apiLvl 'ProductFlavorAttr{name=newApi}' but no value provided.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' and found compatible value 'AndroidTypeAttr{name=Aar}'.
- Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=innerTest}' and found incompatible value 'BuildTypeAttr{name=release}'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=release}' but wasn't required.
- Required org.gradle.api.attributes.Usage 'for runtime' and found compatible value 'for runtime'.
- Required releaseType 'ProductFlavorAttr{name=beta}' but no value provided.
Run Code Online (Sandbox Code Playgroud)
以下是我们的构建类型和风格:
buildTypes {
release {
//...
}
debug {
//...
}
innerTest {
//...
}
}
flavorDimensions "releaseType", "apiLvl"
productFlavors {
prod {
dimension "releaseType"
//...
}
beta {
dimension "releaseType"
//...
}
oldApi {
dimension "apiLvl"
//...
}
newApi {
dimension "apiLvl"
//...
}
}
Run Code Online (Sandbox Code Playgroud)
此外,我们有一个名为"abChat"的库模块,没有任何风味.我可以尝试做些什么来解决这个问题?
Hen*_*nry 55
此问题已得到修复,并且在Stable 3.0版本中一切正常.如果你仍然面临这个问题,那是因为没有回退机制.
如果您的应用程序包含库不存在的构建类型,那么您将收到此错误.要解决此问题,您需要提供matchingFallbacks您的构建类型.请参阅本文档中的Resolve build errors related to Dependency matching部分
如果是构建类型,请执行以下操作,如果是产品风格,请参阅文档以进行迁移.
buildTypes {
release {
//...
}
debug {
//...
}
innerTest {
//...
matchingFallbacks = ['debug', 'release']
}
}
Run Code Online (Sandbox Code Playgroud)
并简单地添加您的依赖项,如下所示:
dependencies {
implementation project(':abChat')
}
Run Code Online (Sandbox Code Playgroud)
小智 28
这个经过长期的研究后工作.
更换:
implementation project(':abChat')
Run Code Online (Sandbox Code Playgroud)
至:
implementation project(path:':abChat', configuration: 'default')
Run Code Online (Sandbox Code Playgroud)
小智 14
在你的应用程序中
dependencies {
debugImplementation project(':abChat')
innerTestImplementation project(':abChat')
releaseImplementation project(':abChat')
}
Run Code Online (Sandbox Code Playgroud)
在你的libary abChat中
buildTypes {
release {}
debug{}
innerTest{}
}
Run Code Online (Sandbox Code Playgroud)
Vik*_*Vik 13
确保在所有模块中都有构建配置(buildTypes)的确切列表(名称).
在我的3.0之前的设置中,我在所有com.android.library模块中只有debug {}和release {}.我添加了一个类似于app模块的配置.它对我来说很好.
| 归档时间: |
|
| 查看次数: |
38715 次 |
| 最近记录: |