web-dev-qa-db-fra.com

Impossible d'analyser le modèle "Classe"

J'essaie de créer une classe sous Android mais j'ai eu cette erreur

Impossible d'analyser le modèle "Classe" Message d'erreur: Ce modèle n'a pas généré de classe Java ni d'interface.

et dans le journal des événements, j'ai eu cette erreur

FileNotFoundException: Entry fileTemplates // code/SetUp Méthode de test Google Méthode.cc.ft introuvable dans /D:/Android%20Studio/lib/idea.jar

ce mon app bulle gradle

apply plugin: 'com.Android.application'

Android
  {

compileSdkVersion 23
buildToolsVersion '25.0.0'

defaultConfig {
    applicationId "com.hh.ss.msed"
    minSdkVersion 14
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    multiDexEnabled true


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


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

    compile 'com.Android.support:appcompat-v7:23.0.0'
    compile 'com.google.firebase:firebase-core:11.0.1'
    compile 'com.google.firebase:firebase-database:11.0.1'
    compile 'com.google.firebase:firebase-crash:11.0.1'
    compile 'com.google.firebase:firebase-storage:11.0.1'
    compile 'com.Android.support:recyclerview-v7:23.0.0'
    compile 'com.Android.support:cardview-v7:23.0.0'
    compile 'com.firebaseui:firebase-ui-database:0.6.2'


    compile 'com.firebase:firebase-client-Android:2.4.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.Android.support:support-v4:23.0.0'


}


packagingOptions {
    exclude 'META-INF/DEPENDENCIES.txt'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/dependencies.txt'
    exclude 'META-INF/LGPL2.1'
   }
  }
  apply plugin: 'com.google.gms.google-services'

ce projet de grande envergure

// Top-level build file where you can add configuration options common to all sub-projects/modules.

  buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath 'com.Android.tools.build:gradle:2.3.3'
    classpath 'com.google.gms:google-services:3.1.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    }
 }

 allprojects {
  repositories {
    jcenter()
  }
}

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

quel est le problème?

31
Hanan

Allez dans Fichier-> Paramètres-> éditeur-> Modèles de fichier et de code, sélectionnez Classe dans l'onglet Fichiers et collez ceci:

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { }

Screenshot of editor

48
Da Man

J'ai le même problème, et je l'ai résolu en ajoutant dans le idea.vmoptions ou le idea64.vmoptions la ligne suivante: 

-Djdk.util.Zip.ensureTrailingSlash=false

comme indiqué dans Support de JetBrains par l'utilisateur Wojciech Fred

Semble être un correctif appliqué par Oracle à Java 8 Update 144

J'espère que ça aide: D

Éditer: Dans Android Studio, le fichier s'appelle studio.vmoptions et se trouve dans le répertoire de configuration, mais cela est plus facile si vous accédez au menu "aide> Modifier les options personnalisées VM": Configuration Android Studio

45
Angel Castelo

J'ai rencontré quelque chose comme ça dans Android studio. Ce que j’ai fait, c’est que j’ai ouvert IntelliJ Idea (depuis qu’Android Studio est basé sur celle-ci) et copié le texte par défaut du modèle respectif puis collé dans le fichier respectif d’Android studio.

Allez dans Fichier-> Paramètres-> éditeur-> modèles de fichier et de code, sélectionnez Classe dans l'onglet Fichiers et écrivez ceci. 

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { } 
31
Semicolon

Je n'ai pas rencontré cette erreur avant. J'ai rencontré ce problème uniquement après avoir réinstallé mon studio Android (version 3.0). Créer une nouvelle classe donne l'erreur suivante, comme mentionné dans la question.

Impossible d'analyser le modèle "Classe" Message d'erreur: Ce modèle n'a pas produire une classe Java ou une interface

Donc, il y a deux façons de se débarrasser de cette erreur

L'option 1 est @Semicolon answer

Allez dans Fichier-> Paramètres-> Editeur-> Modèles de fichier et de code, sélectionnez Classe dans l'onglet Fichiers et écrivez ceci.

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { }

Option 2 est @ Angel Castelo répondre

Ajoutez la ligne suivante à votre option personnalisée VM (studio.vmoptions). 

-Djdk.util.Zip.ensureTrailingSlash=false

Ma suggestion est de l'ajouter via Android Studio (Sélectionnez Aide-> Modifier les options personnalisées VM-> puis ajoutez le code). Si vous n'avez pas créé de fichier d'option personnalisé VM auparavant, une boîte de dialogue mentionnant que le fichier d'option "Custom VM n'existe pas." Fichier d'options VM. Suivez ensuite les étapes (mentionnées ci-dessus).

Conclusion

Quel est le meilleur?

Lorsque je rencontre ce problème pour la première fois, je choisis l’option 1 et elle a bien fonctionné jusqu’à ce que je commence mon prochain projet. Lorsque j'ai démarré un nouveau projet, le problème réapparaissait, alors j'ai visité cette page et trouvé option 2. Cela a parfaitement fonctionné pour moi. 

Lorsque nous suivons option 2, créer un nouveau projet ne provoque plus ce problème, contrairement à option 1.

Lectures complémentaires

Page de support d'Intellij

Page du développeur Android

En savoir plus sur les modèles de fichiers Android Studio

10
Johnett Mathew

Dans votre, IntelliJ IDE, accédez à Aide => Modifier les options personnalisées VM et ajoutez à votre idea.vmoptions ou idea64.vmoptions la ligne suivante: 

-Djdk.util.Zip.ensureTrailingSlash=false

Vous pouvez en lire plus à ce sujet ici et ici .

8
Alex A. Adusei

le tour par point-virgule fonctionne De même pour ajouter des interfaces aller

Android Studio -> Preferences -> File and Code Templates -> Files -> Interface

et ajoutez le code suivant

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public interface ${NAME} { }
4
AMOGH KALYANSHETTI

Cette réponse est peut-être juste et fonctionne très bien. J'utilise cette option pendant quelques jours et elle l’est aussi pour moi, mais il existe une autre option et je pense que c’est bien mieux car cette option est donnée par Développeur Android qui est aussi simple que ci-dessous:

Pour le modèle de fichier de classe:

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

    #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
    #end
    #parse("File Header.Java")

    #if (${VISIBILITY} == "PUBLIC")public #end #if (${ABSTRACT} == "TRUE")abstract #end #if (${FINAL} == "TRUE")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
    }

Modèle de fichier d'interface

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.Java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
#end {
}

 enter image description here

4
Vikrant Shah

La raison en est que vous avez peut-être installé la version 64 bits sur une machine 32 bits. J'ai eu le même problème. Si vous avez un système d'exploitation 32 bits, essayez de désinstaller la version 64 bits d'Android Studio et d'installer la version 32 bits à partir de cette page: https://developer.Android.com/studio/index.html#downloads

2
SolderingIronMen

Je suis sur un Mac avec IntelliJ IDEA 14 et j'ai trouvé le fichier idea.vmoptions ici:

~/Applications/IntelliJ IDEA 14 (Right click Show Package Contents) /Contents/bin/idea.vmoptions

J'ai ensuite ajouté la même ligne que celle suggérée par le principal intervenant:

-Djdk.util.Zip.ensureTrailingSlash=false
1
Lisa S

Salut, j'ai eu la même erreur et l'erreur était due à une syntaxe incorrecte dans le modèle d'en-tête Java File. Je l'ai résolu de la manière suivante:

Aller à:

Android Studio -> Preferences -> File and Code Templates -> Includes -> File Header

Si vous avez défini des variables dans le modèle, vérifiez comment elles sont définies (par exemple):

#set( $USER = "Your Name")

au lieu de 

#set( USER  "Your Name")

J'espère que ça aide

1
mgfernan

J'ai trouvé le même problème avec mon Idea 14. Mais quand il venait juste d'être installé, ce n'était pas le cas. Plus tard, j'ai découvert qu'il était apparu après l'installation du plugin Protobuf. Si vous désinstallez le plugin protobuf, cela fonctionne à nouveau.

Peut-être va aider quelqu'un ...

0
Denys

J'ai eu le même problème, il est juste apparu que je n'avais modifié aucun paramètre ni mis à jour le studio Android quoi qu'il soit. Je l'ai résolu en sélectionnant

File -> Invalidate Caches & Restart
0
Arlind

Accédez à Fichier , Puis définissez -> éditeur -> modèles de fichier et de code, sélectionnez Classe dans l’onglet Fichiers et collez-le " {PACKAGE_NAME}; # end #parse ("File Header.Java"), classe publique $ {NAME} {} " Puis cliquez sur Appliquer.

0
Diya Bhat

Dans mon cas, cela fonctionnait avant mais a soudainement commencé à afficher ce message d'erreur. J'ai essayé certaines des réponses ci-dessus, mais je n'ai pas aidé. Le nettoyage des caches a résolu mon problème.

Activé Intellij Accédez à Fichier> Invalider les caches/Redémarrer et sélectionnez Option invalide et redémarre .

J'espère que ça aide.

enter image description here

0
Samir Agayarov

J'ai eu le même problème, mais j'ai résolu ce problème en procédant comme suit:

Étape 1: Aller au menu Fichier >> Paramétrage 

Étape 2: cliquez ensuite sur Editeur, puis sur Modèles de fichier et de code

Étape 3: Maintenant, sélectionnez la classe 

Étape 4: Après cela, collez ce code dans l'éditeur. Pour plus de détails, voir l'image.

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { }

 enter image description here

0
Sumit Kumar Gupta