新しいAndroid Studio 3.0カナリア2で既存のプロジェクトを開こうとしています。 instructions 、依存関係の構成ですが、次のエラーが引き続き発生します:
Unable to resolve dependency for ':app@productionRelease/compileClasspath':
Could not resolve project : abChat.
そして、別のウィンドウで:
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.
ビルドタイプとフレーバーは次のとおりです。
buildTypes {
release {
//...
}
debug {
//...
}
innerTest {
//...
}
}
flavorDimensions "releaseType", "apiLvl"
productFlavors {
prod {
dimension "releaseType"
//...
}
beta {
dimension "releaseType"
//...
}
oldApi {
dimension "apiLvl"
//...
}
newApi {
dimension "apiLvl"
//...
}
}
また、フレーバーのない「abChat」という名前のライブラリモジュールがあります。問題を解決するために何ができますか?
この問題は修正され、Stable 3.0バージョンではすべて正常に動作します。それでもこの問題に直面する場合、それはフォールバックメカニズムがないためです。
ライブラリにないビルドタイプがアプリに含まれている場合、このエラーが発生します。これを修正するには、ビルドタイプにmatchingFallbacks
を指定する必要があります。 Resolve build errors related to Dependency matching
セクションを参照してください このドキュメント内
ビルドタイプの場合は以下を実行し、製品フレーバーの場合は移行に関するドキュメントを参照してください。
buildTypes {
release {
//...
}
debug {
//...
}
innerTest {
//...
matchingFallbacks = ['debug', 'release']
}
}
以下のように依存関係を追加するだけです:
dependencies {
implementation project(':abChat')
}
これ 長い研究の後に働いた。
交換:
implementation project(':abChat')
に:
implementation project(path:':abChat', configuration: 'default')
あなたのアプリで
dependencies {
debugImplementation project(':abChat')
innerTestImplementation project(':abChat')
releaseImplementation project(':abChat')
}
ライブラリbaChatで
buildTypes {
release {}
debug{}
innerTest{}
}
すべてのモジュールにビルド構成(buildTypes)のexact list(names)があることを確認してください。
3.0より前のセットアップでは、com.Android.libraryモジュールのすべてでdebug {}とrelease {}のみを使用していました。 :appモジュールと同様の構成をもう1つ追加しました。それは私のためにうまく構築されます。
あなたのモジュールのbuild.gradleにあるapply plugin: 'com.Android.library'
を確認してください。私はこの愚かな間違いを犯しました。