web-dev-qa-db-fra.com

erreur: les supertypes des classes suivantes ne peuvent pas être résolus. Assurez-vous d'avoir les dépendances requises dans le classpath

Je ne parviens pas à compiler mon projet Android Kotlin.

Je n'ai aucune idée de ce que c'est ...

Journal de bord:

erreur: les supertypes des classes suivantes ne peuvent pas être résolus. Assurez-vous que vous avez les dépendances requises dans le chemin d'accès aux classes:

build.gradle (app)

buildscript {
    ext.Android_plugin_version = "2.3.3"
    ext.kotlin_version = '1.1.2-5'

    repositories {
        maven { url 'https://maven.google.com' }
        maven { url "https://jitpack.io" }

        mavenCentral()
    }

    dependencies {
        classpath "com.Android.tools.build:gradle:$Android_plugin_version"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.google.com' }
        maven { url "https://jitpack.io" }

        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
apply plugin: 'kotlin-kapt'

def compat_version = '26.+'
def play_services_version = '11.0.1'
def firebase_version = '9.6.1'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"

    defaultConfig {
        applicationId "com.site.app"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["library" : "true"]
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    dataBinding {
        enabled true
    }

    sourceSets {
        main.Java.srcDirs += 'src/main/kotlin'
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

kapt {
    generateStubs = true
    correctErrorTypes = true
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    // Android
    compile 'com.Android.support:multidex:1.0.1'
    compile "com.Android.support:appcompat-v7:${compat_version}"
    compile "com.Android.support:design:${compat_version}"
    compile "com.Android.support:cardview-v7:${compat_version}"
    compile "com.Android.support:recyclerview-v7:${compat_version}"
    compile "com.Android.support:gridlayout-v7:${compat_version}"
    compile "com.google.Android.gms:play-services:${play_services_version}"
    compile "com.google.Android.gms:play-services-ads:${play_services_version}"
    compile "com.google.Android.gms:play-services-maps:${play_services_version}"
    compile 'com.Android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.maps.Android:android-maps-utils:0.4+'
    kapt "com.Android.databinding:compiler:$Android_plugin_version"

    // kotlin
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
    testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
    testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
}
13
junioregis

Dans mon cas, j'avais un module de bibliothèque avec une classe d'application abstraite implémentant la variable HasActivityInjector de Dagger et un module d'application dépendant de la bibliothèque et de sa propre classe d'application (non abstraite) étendant la classe d'application de base. 

Mes dépendances Gradle étaient implementations, et donc inaccessibles à la classe d'application du module d'application (même s'il n'y avait aucune importation, sinon le problème serait immédiatement évident car vous obtiendriez une erreur 'impossible à résoudre'. Le correctif consistait à remplacer dagger implementation dépendances avec api, ce qui les rend également disponibles pour les modules dépendants.

11
oblakr24

Je l'ai corrigé en changeant l'ordre d'appels des plugins!

build.gradle

buildscript {
    ext.Android_plugin_version = '2.3.3'
    ext.kotlin_version = '1.1.3-2'

    repositories {
        jcenter()
        mavenCentral()

        maven { url "https://maven.google.com" }
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://jitpack.io" }
    }

    dependencies {
        classpath "com.Android.tools.build:gradle:$Android_plugin_version"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-Android-extensions:$kotlin_version"
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()

        maven { url "https://maven.google.com" }
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app/build.gradle

apply plugin: 'com.Android.application'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
apply plugin: 'io.fabric'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"

    defaultConfig {
        applicationId "com.sample.app"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    buildTypes {
        debug {
            ext.alwaysUpdateBuildId = false
        }

        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    dataBinding {
        enabled true
    }

    sourceSets {
        main.Java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        abortOnError false
        disable 'InvalidPackage'
    }
}

kapt {
    generateStubs = true
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    // kotlin
    kapt "com.Android.databinding:compiler:$Android_plugin_version"
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    // Android
    compile 'com.Android.support:multidex:1.0.1'
    compile "com.Android.support:appcompat-v7:${compat_version}"
    compile "com.Android.support:design:${compat_version}"
    compile "com.Android.support:cardview-v7:${compat_version}"
    compile "com.Android.support:recyclerview-v7:${compat_version}"
    compile "com.Android.support:gridlayout-v7:${compat_version}"
    compile "com.Android.support:support-vector-drawable:${compat_version}"
    compile 'com.Android.support.constraint:constraint-layout:1.0.2'
    compile "com.google.Android.gms:play-services-ads:${play_services_version}"
    compile "com.google.Android.gms:play-services-maps:${play_services_version}"
    compile "com.google.Android.gms:play-services-gcm:${play_services_version}"
    compile 'com.google.maps.Android:android-maps-utils:0.4+'

    // fabric
    compile('com.crashlytics.sdk.Android:crashlytics:2.6.8@aar') {
        transitive = true;
    }

    // logger
    compile 'com.orhanobut:logger:2.1.1'

    // dexter
    compile 'com.karumi:dexter:4.1.0'

    // firebase
    compile "com.google.firebase:firebase-messaging:${firebase_version}"

    // persistence
    compile "Android.Arch.persistence.room:runtime:1.0.0-alpha3"
    annotationProcessor "Android.Arch.persistence.room:compiler:1.0.0-alpha3"

    // facebook
    compile 'com.facebook.Android:facebook-Android-sdk:4.+'

    // retrofit
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'

    // gson
    compile 'com.google.code.gson:gson:2.8.1'

    // jobs
    compile 'com.evernote:Android-job:1.1.11'

    // chart
    compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'

    // fresco
    compile 'com.facebook.fresco:fresco:1.3.0'

    // indicator
    compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
}
8
junioregis

Mettez à jour votre version de Google Play Gradle à la dernière

0
HeartlessArchangel

Dans mon cas, j'ai dû ajouter la dépendance requise sur mon module principal et compiler la dernière version avec:

Android {
    configurations.all {
        resolutionStrategy.force "com.squareup.picasso:picasso:${picassoVersion}"
    }
}
0
Curtes Malteser