81 votes

Gradle 4.0 Impossible de trouver une configuration correspondante

Je suis en train d'ouvrir mon projet existant dans le nouveau Android Studio 3.0 canaries 2. J'ai mis à jour Gradle selon les instructions, a changé de nom pour la dépendance configurations, mais je continue à obtenir l'erreur suivante:

Unable to resolve dependency for ':app@productionRelease/compileClasspath': 
Could not resolve project : abChat.

Et dans une autre fenêtre:

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.

Voici nos types et de saveurs:

buildTypes {

        release {
           //...
        }

        debug {
           //...
        }

        innerTest {
            //...
        }
    }



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

Aussi, nous avons une bibliothèque de module nommé "abChat" sans saveurs. Ce que je peux essayer de faire pour résoudre le problème?

94voto

Henry Points 3697

Ce problème est résolu et tout fonctionne bien dans la stabilité de la version 3.0. Si vous avez encore face à ce problème, c'est qu'il n'existe pas de mécanisme de secours.

Si votre application contient un type de construction que la bibliothèque ne possède pas le cas, alors vous obtiendrez cette erreur. Pour résoudre ce problème, vous devez fournir matchingFallbacks à votre type de build. Consultez l' Resolve build errors related to Dependency matching section dans cette documentation

En cas de construire des types ci-dessous, et si c'est un produit saveurs reportez-vous à la documentation de la migration.

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

et il suffit d'ajouter vos dépendances comme ci-dessous:

dependencies {
    implementation project(':abChat')
}

56voto

Cela a fonctionné après une longue recherche.

Remplacer:

 implementation project(':abChat')
 

À:

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

19voto

Lincoln Sumauto Points 169

dans votre application

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

dans votre libary abChat

 buildTypes {
    release {}
    debug{}
    innerTest{}
}
 

13voto

Vik Points 51

Assurez-vous de disposer de la liste exacte (noms) des configurations de construction (buildTypes) dans tous vos modules .

Dans ma configuration antérieure à la version 3.0, je n'avais que le débogage {} et la version {} dans tous mes modules com.android.library. J'ai ajouté une configuration supplémentaire similaire à celle de: module d'application. Cela me convient parfaitement.

6voto

Seven Points 23

Vérifiez si c'est apply plugin: 'com.android.library' dans build.gradle de votre module, je viens de faire cette stupide erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X