web-dev-qa-db-fra.com

Impossible de charger la classe 'com.Android.builder.Version' après la mise à niveau vers Android Studio 3.1

J'ai mis à jour Android Studio 3.1 dans Canary channel et je ne peux plus construire mon projet, cette erreur est imprimée:

Impossible de charger la classe 'com.Android.builder.Version'. Causes possibles pour cette erreur inattendue incluent:

  • Le cache de dépendance de Gradle peut être corrompu (cela se produit parfois après un délai de connexion réseau.) Dépendances de re-téléchargement et synchronisation projet (nécessite un réseau)
  • L'état d'un processus de génération Gradle (démon) est peut-être corrompu. L'arrêt de tous les démons Gradle peut résoudre ce problème. Arrêtez Gradle build processus (nécessite un redémarrage)

Votre projet utilise peut-être un plug-in tiers non compatible avec les autres plugins du projet ou de la version de Gradle demandé par le projet. Dans le cas de processus Gradle corrompus, vous Vous pouvez également essayer de fermer le IDE puis de tuer tous les processus Java.

J'ai déjà essayé ces deux solutions et essayé également de supprimer tout le répertoire ~/.gradle/caches mais l'erreur persiste.

À la recherche d'une erreur similaire, j'ai trouvé l'ancienne version d'Android Studio présentant ce problème, avec la solution suggérée pour mettre à niveau la version d'outils Android.

Je pense avoir déjà le dernier:

    classpath 'com.Android.tools.build:gradle:3.1.0-alpha01'

EDIT (30 Oct 2017):

Les réponses montrent que quelqu'un a le problème alors que quelqu'un ne le fait pas ... Comme indiqué dans les commentaires à cette question, cela peut être causé par un plugin non compatible, je liste donc les plugins utilisés dans mon projet:

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        jcenter()
        google()
//        maven {
//            url 'https://maven.google.com'
//        }
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "com.gradle:build-scan-plugin:1.10"
        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.1'
        classpath 'com.Android.tools.build:gradle:3.1.0-alpha01'
        classpath 'com.google.gms:google-services:3.1.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

Le dexcount one n’est pas utilisé actuellement à cause de certaines incompatibilités avec les nouvelles versions du plugin Android.

9
Daniele Segato

J'ai eu le même problème et ce que nous avons en commun est le plugin dexcount. Désactiver ce problème jusqu'à ce que les deux plugins soient compatibles. Voir rapport de bogue dexcount .

"la mise à jour vers dexcount 0.8.2 corrige le problème"

26
Gabor Peto

Apparemment, revenir à une version précédente du plugin Android Tools fonctionne:

    classpath 'com.Android.tools.build:gradle:3.0.0'

Mais le IDE me demande si je souhaite effectuer une mise à jour vers 3.1.0-alpha1 afin de déterminer s'il s'agit d'un bogue ou si le problème est ailleurs.

Je laisse simplement cette solution ici jusqu'à ce que quelqu'un d'autre propose une autre explication.

0
Daniele Segato

j'ai changé ma ligne de chemin de classe dans gradle (projet: nom du projet) et le problème a disparu.

chemin de classe 'com.Android.tools.build:gradle:3.1.2'

0
Ramkesh Yadav

Vous ne savez pas pourquoi votre construction ne fonctionne pas, mais après une nouvelle installation de Android Studio 3.1 et avec ce paramètre, tout fonctionne correctement pour la compilation d'un projet volumineux contenant plusieurs bibliothèques (et mélangé avec Java, kotlin).

buildscript {
    ext {
        gradle_version = "3.1.0-alpha01"
        kotlin_version = "1.1.51"
    }

    repositories {
        maven {
            url 'https://maven.google.com'
        }
        maven {
            url 'https://oss.sonatype.org/content/repositories/snapshots'
        }
        jcenter()
        google()
    }

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



allprojects {
    repositories {
        maven {
            url 'https://maven.google.com'
        }
        jcenter()
        google()
    }

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xmaxerrs" << "500"
        }
    }

}

et mon grade basé sur l'application.

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

Android {
... 
}
0
Emanuel S