Gradle 4.0 impossible de trouver une configuration correspondante

j'essaie d'ouvrir mon projet existant dans le nouveau studio Android 3.0 canary 2. J'ai mis à jour Gradle selon instructions, changé les noms pour les configurations de dépendances mais je continue à avoir la prochaine erreur:

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.

Ici sont 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"
            //...
        }
    }

en outre, nous avons un module de bibliothèque nommé "abChat" sans aucune saveur. Ce que je peux essayer de faire pour résoudre le problème?

34
demandé sur Gaket 2017-05-27 18:27:52

4 réponses

ce problème est résolu et tout fonctionne très bien dans la version Stable 3.0. Si vous faites encore face à ce problème, c'est parce qu'il n'y a pas de mécanisme de repli.

si votre application inclut un type de construction que la bibliothèque n'a pas alors vous obtiendrez cette erreur. Pour résoudre ce problème, vous devez fournir matchingFallbacks à votre type de construction. Reportez-vous à la Resolve build errors related to Dependency matchingdans cette documentation

dans le cas de types de construction faire ce qui suit, et si c'est des saveurs de produit se référer à la documentation pour la migration.

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

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

dependencies {
    implementation project(':abChat')
}
30
répondu Henry 2017-11-20 16:18:37

assurez-vous que vous avez l' liste exacte (noms) des configurations de construction (buildTypes) dans tous vos modules.

dans ma configuration pré-3.0, Je n'avais que debug{} et release{} dans tout mon com.Android.modules de bibliothèque. J'ai ajouté une configuration similaire à celle de :app module. Il s'appuie bien pour moi.

12
répondu Vik 2017-06-20 22:06:59

dans votre application

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

dans votre bibliothèque abChat

buildTypes {
    release {}
    debug{}
    innerTest{}
}
12
répondu Lincoln Sumauto 2017-10-30 07:04:32

travaillé après une longue recherche.

Remplacer:

implementation project(':abChat')

À:

implementation project(path:':abChat', configuration: 'default')
4
répondu Shivakshi Chaudhary 2018-08-09 12:22:51