web-dev-qa-db-de.com

Gradle 4.0 Es wurde keine passende Konfiguration gefunden

Ich versuche, mein vorhandenes Projekt in dem neuen Android Studio 3.0-Kanarienvogel 2 zu öffnen. Ich habe Gradle gemäß Anweisungen aktualisiert , die Namen für Abhängigkeitskonfigurationen geändert, aber ich bekomme den nächsten Fehler:

Unable to resolve dependency for ':[email protected]/compileClasspath': 
Could not resolve project : abChat.

Und in einem anderen Fenster:

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.

Hier sind unsere Build-Typen und Geschmacksrichtungen:

buildTypes {

        release {
           //...
        }

        debug {
           //...
        }

        innerTest {
            //...
        }
    }



flavorDimensions "releaseType", "apiLvl"
    productFlavors {
        prod {
            dimension "releaseType"
            //...
        }
        beta {
            dimension "releaseType"
            //...
        }
        oldApi {
            dimension "apiLvl"
           //...
        }
        newApi {
            dimension "apiLvl"
            //...
        }
    }

Außerdem haben wir ein Bibliotheksmodul namens "abChat" ohne jegliche Geschmacksrichtungen. Was kann ich tun, um das Problem zu lösen?

36
Gaket

Dieses Problem wurde behoben und in der Version 3.0 von Stable funktioniert alles einwandfrei. Wenn Sie immer noch mit diesem Problem konfrontiert sind, liegt dies daran, dass es keinen Fallback-Mechanismus gibt. 

Wenn Ihre App einen Build-Typ enthält, den die Bibliothek nicht enthält, wird diese Fehlermeldung angezeigt. Um dies zu beheben, müssen Sie Ihrem Build-Typ matchingFallbacks zur Verfügung stellen. Siehe den Resolve build errors related to Dependency matching-Abschnitt in dieser Dokumentation

Im Falle von Build-Typen führen Sie die folgenden Schritte aus. Wenn Sie Produktvarianten verwenden, schlagen Sie in der Dokumentation zur Migration nach.

buildTypes {
    release {
       //...
    }
    debug {
       //...
    }
    innerTest {
        //...
        matchingFallbacks = ['debug', 'release']
    }
}

und fügen Sie einfach Ihre Abhängigkeiten wie folgt hinzu:

dependencies {
    implementation project(':abChat')
}
40
Henry

in deiner App

dependencies {
    debugImplementation project(':abChat')
    innerTestImplementation project(':abChat')
    releaseImplementation project(':abChat')
}

in deiner Bibliothek abChat

buildTypes {
    release {}
    debug{}
    innerTest{}
}
13
Lincoln Sumauto

Stellen Sie sicher, dass Sie die genaue Liste (Namen) der Build-Konfigurationen (BuildTypes) in allen Ihren Modulen haben .

In meinem Setup vor Version 3.0 hatte ich in allen Modulen der com.Android.library nur das Debuggen {} und das Release {}. Ich habe eine weitere Konfiguration hinzugefügt, die der von App-Modul ähnelt. Es ist gut für mich gebaut.

12
Vik

Das funktionierte nach langer Forschung.

Ersetzen:

implementation project(':abChat')

Zu:

implementation project(path:':abChat', configuration: 'default')
11

Überprüfen Sie, ob es sich um apply plugin: 'com.Android.library' in build.gradle Ihres Moduls handelt. Ich habe diesen blöden Fehler gemacht.

0
Seven