53
votes

PUNAISE! Exception en phase 'Analyse sémantique' dans l'unité source '_buildscript_' Fichier de classe non pris en charge major 61 sur le bras Apple

J'ai installé Android Studio Canary 2020.3.1.22 et j'essaie d'exécuter Flutter Projet sur Apple Silicon (ARM) Mac . Malheureusement, cela me donne cette erreur lorsque j'essaie d'exécuter de par défaut l'application de contre-flober.

Voici l'erreur que j'obtiens:

Could not open settings generic class cache for settings file '/Users/khamidjonkhamidov/StudioProjects/dummy/android/settings.gradle' (/Users/khamidjonkhamidov/.gradle/caches/6.7/scripts/f0emg6u6oecmxqzgk5g9nn4ui).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61


0 commentaires

10 Réponses :


11
votes

Fondamentalement, j'ai installé JDK en utilisant Brew Install Java qui n'était pas compatible avec mon gradle actuel, je suppose. Donc

  • J'ai désinstallé Java d'abord en utilisant: Brew Désinstal Java
  • Installé jdk 8 ou jdk 11 de azul .
  • Installé Gradle: Gradle-6.9-all.zip
  • Une fois terminé, tout a fonctionné en douceur.


    0 commentaires

    54
    votes

    Selon les documents officiels: Java 17 et les versions ultérieures ne sont pas encore prises en charge.

    Vous pouvez vérifier la compatibilité ici .

    J'ai donc installé java11 à partir de azul .

    P.S. N'oubliez pas de changer la version JDK dans Android Studio

    Préférences -> Build -> Build Tools -> Gradle -> Gradle JDK


    2 commentaires

    J'ai le même problème en essayant de porter ma construction de notes avec Java 8 à Java 17.


    À partir de Gradle v7.3.0 Java 17 fonctionne bien



    12
    votes

    Tout d'abord, vous pouvez exécuter cette commande: / usr / libexec / java_home -v , pour récupérer tous les JDS installés:

    [~]$ java -version
    openjdk version "14.0.1" 2020-04-14
    OpenJDK Runtime Environment (build 14.0.1+7)
    OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
    [~]$
    

    Supprimez la version 17 :

    [~]$ /usr/libexec/java_home -v 14.0.1 --exec javac -version
    javac 14.0.1
    

    Entrez dans le chemin de la version que vous souhaitez supprimer (dans ce cas " / utilisateurs / ciccio /Library/java/javavirtualmachines/openjdk-17.0/contents/home "), et supprimez le dossier entier:" /users/ciccio/library/java/javavirtualmachines/openjdk-17.0 ".

    Une fois supprimé, revenez sur le terminal et utilisez:

    [~]$ java -version
    openjdk version "17" 2021-09-14
    OpenJDK Runtime Environment Homebrew (build 17+0)
    OpenJDK 64-Bit Server VM Homebrew (build 17+0, mixed mode, sharing)
    

    pour forcer la nouvelle version à utiliser (14.0.1).

    Vérifiez ensuite si c'est correct:

    [~]$ /usr/libexec/java_home -V
    
    Matching Java Virtual Machines (4):
        17.0 (x86_64) "Oracle Corporation" - "OpenJDK 17.0" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-17.0/Contents/Home
        14.0.1 (x86_64) "Oracle Corporation" - "OpenJDK 14.0.1" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-14.0.1/Contents/Home
        11.0.12.1 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-11.0.12/Contents/Home
        10.0.2 (x86_64) "Oracle Corporation" - "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
        1.8.0_302 (x86_64) "Amazon" - "Amazon Corretto 8" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-1.8.0_302/Contents/Home
    

    Votre gradle est maintenant de retour au travail.


    0 commentaires

    3
    votes

    J'ai trouvé un moyen de corriger cette erreur sans jouer avec la version Java installée localement ou Gradle. Voici ce que j'ai fait:

  • Si vous développez un projet Flutter et obtenez cette erreur, accédez à fichier -> Fermer le projet .
  • Ensuite, rouvrez-en dans le dossier Android (omettez-le si vous avez reçu d'un projet Android pur).
  • Maintenant, Gradle peut détecter le problème par lui-même, et il faudra un certain temps à vérifier. Une fois cela fait, il peut fournir des étapes de mise à niveau dans une fenêtre d'assistant de mise à niveau en bas de la fenêtre avec logcat, build, terminal etc… que vous devez accepter et lui dire pour exécuter. Une fois qu'il a terminé, l'erreur est résolue et vous êtes prêt à partir.
  • S'il ne semble rien faire seul, veuillez ouvrir l'onglet Structure du projet . Sélectionnez maintenant la dernière version Gradle disponible qui ne contient pas -rc (vous n'en voulez pas, la plupart du temps, ce ne sont pas des versions stables).
  • Sélectionnez maintenant la version JDK que Gradle utilise en allant à gradle (barre latérale à droite de la fenêtre) -> icône de clé -> Gradle Paramètres < / fort>. Sélectionnez une version JDK compatible selon la documentation de Gradle Project, comme le trouve ici . La dernière version stable actuelle de Gradle est de 7,4 avec le maximum de la version 17 JDK prise en charge (également plus tard, je crois que si vous utilisez quelque chose comme openjdk que je je Utilisez ), mais la version Android Studio à 7.1 alors soyez prudent.
  • Testé sur MacBook Air M1 Running MacOS Monterey 12.2.1.


    0 commentaires

    10
    votes

    a obtenu la même erreur pendant que j'ai mis à niveau mon build.gradle vers Java 17. Et le correctif est aussi simple que nous le pensons:

    ./gradlew wrapper
    

    Voici la référence complète pour la compatibilité Java vs Gradle: https://docs.gradle.org/current/userguide/compatibilité.html

    a mis à niveau mon gradle vers 7.3 dans Gradle-Wrapper.properties.

    https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
    

    Certains d'entre vous peuvent vivre maintenant l'erreur corrompue du cache de dépendance gradle après ça comme moi. Il vaut donc mieux supprimer le gradle-wrapper.jar et réinstaller en utilisant la commande:

    Gradle starts supporting Java17 only from 7.3 release
    

    tout fonctionnera parfaitement à partir d'ici.

    au cas où vous Face toujours à Gradle Corrupt Issue, veuillez vérifier si vous utilisez la dernière version d'IDE en particulier Intellij.


    0 commentaires

    0
    votes

    J'ai eu ce problème lorsque j'ai fixé la cible pour qu'un nouveau projet Intellij Kotlin soit Java 17. Mon correctif était de:

    • Définissez la cible sur 9 dans build.gradle.kt
    • Fermez le projet
    • Supprimer les répertoires .gradle et .idea du dossier du projet
    • Supprimer le projet de la liste récente des projets
    • Ouvrez le fichier gradle d'Intellij et faites-le reconstruire tout

    0 commentaires

    0
    votes

    Ouvrez les paramètres Gradle et modifiez le Gradle JVM vers la même version JDK que vous utilisez. (J'utilise 14.0.2) Cela a fonctionné pour moi.


    0 commentaires

    -1
    votes

    Je pourrais le réparer en faisant ceci:

    $ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    

    Dans la dernière ligne, j'ai joint:

    $ sudo apt-get install openjdk-8-jdk
    
    $ sudo nano ~/.bashrc 
    

    Après cela, cela fonctionnait mais J'ai dû redémarrer Intellij


    0 commentaires

    0
    votes

    J'ai eu ce problème créant des projets d'Intellij. Il semble que le problème était la version Gradle JVM.

    Voici une configuration qui fonctionne:

    Système

    : Mac avec bras, mac os 12.1, m1 max

    • Version Java 18.0.1-Zulu
    • Kotlin version 1.7.0
    • Gradle version 7.5

    J'ai installé cette version avec sdkman https://sdkman.io/ et définir la configuration manuellement sur IntelliJ (voir la capture d'écran ci-jointe pour plus de détails)

    Intellij gradle jvm config


    0 commentaires

    0
    votes

    Ma solution était d'ouvrir le projet Android dans Android Studio. Il a détecté la mise à jour Gradle nécessaire et a effectué la mise à jour sur commande.


    0 commentaires