44 votes

Impossible d'analyser le modèle "Class".

J'essaye de créer une classe dans Android mais j'ai cette erreur

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

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

FileNotFoundException : Entrée fileTemplates//code/Google Test Fixture SetUp Method.cc.ft introuvable dans /D:/Android%20Studio/lib/idea.jar

ceci est mon application bulid 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 bulid gradle

// 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 ?

3 votes

Allez. On est censé deviner à quoi ressemble le code ?

1 votes

Cette activité principale n'a pas de code lorsque je crée un nouveau projet, je ne peux pas créer de nouvelle classe.

0 votes

@John3136 Cela se produit lorsque vous cliquez sur Fichier > Nouveau > Classe Java.

59voto

Da Man Points 632

Allez dans Fichier->réglage->éditeur->fichier et modèles 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

0 votes

Il devrait y avoir un moyen de faire en sorte que Google ou IntelliJ (ou celui qui gère Android Studio) corrige cette erreur. Je doute vraiment que ce soit à cause de ce que l'OP ou moi avons fait.

0 votes

Super Merci beaucoup Cela m'a aidé Mais j'aimerais savoir à ce sujet, pourquoi cela s'est produit et comment vous l'avez résolu.

47voto

Angel Castelo Points 572

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

-Djdk.util.zip.ensureTrailingSlash=false

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

Il semble qu'il s'agisse d'un correctif appliqué par Oracle à la mise à jour 144 de Java 8.

J'espère que cela vous aidera :D

Modifier : Dans Android Studio, le fichier s'appelle studio.vmoptions, et se trouve dans le répertoire de configuration, mais c'est plus facile si vous allez dans le menu "help>Edit custom VM options" : Configuration d'Android Studio

1 votes

Où peut-on trouver le fichier idea.vmoptions dans une machine Linux ?

0 votes

Dans Android Studio, le moyen le plus simple est de passer par les menus. Dans "Help > Edit custom VM options", l'éditeur ouvre le fichier, et vous pourriez y ajouter la ligne.

0 votes

Oui, je l'ai trouvé, Android Studio -> Aide -> Modifier les options VM personnalisées.

32voto

Semicolon Points 903

J'ai rencontré quelque chose comme ça dans Android studio. Ce que j'ai fait, c'est ouvrir IntelliJ Idea (puisque Android studio est basé dessus), copier le texte par défaut du modèle respectif et le coller dans le fichier respectif d'Android studio.

Allez dans Fichier->réglage->éditeur->fichier et modèles 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} { }

0 votes

Je pense que cela devrait être la réponse !

0 votes

S'agit-il donc d'un problème d'installation d'Android Studio ?

0 votes

Je ne parviens pas à ajouter la superclasse (par exemple, ... extends View). Quel pourrait être le problème ?

11voto

Johnett Mathew Points 218

Je n'ai pas rencontré cette erreur auparavant. J'ai rencontré ce problème seulement après avoir réinstallé mon Android studio (version 3.0). La création d'une nouvelle classe donne l'erreur suivante, comme indiqué dans la question.

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

Il y a donc deux façons de se débarrasser de cette erreur

L'option 1 est la réponse de @Semicolon

Aller à Fichier->Paramétrage->Éditeur->Modèles de fichiers et de codes sélectionnez Class dans l'onglet fichiers et écrivez ceci

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

L'option 2 est la réponse de @Angel Castelo

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

-Djdk.util.zip.ensureTrailingSlash=false

Ma suggestion est de l'ajouter en utilisant Android studio( Sélectionnez Aide->Editer les options VM personnalisées->puis ajoutez le code ). Si vous n'avez pas créé de fichier d'option VM personnalisé auparavant, une boîte de dialogue mentionnant "Le fichier d'option VM personnalisé n'existe pas, voulez-vous le créer ? Ensuite, suivez les étapes (mentionnées ci-dessus).

Conclusion

Laquelle est la meilleure ?

Lorsque j'ai rencontré ce problème pour la première fois, j'ai choisi la première option et cela a bien fonctionné jusqu'à ce que je commence mon prochain projet. Quand j'ai commencé un nouveau projet, le problème est réapparu, alors j'ai visité cette page et j'ai trouvé option 2 et cela a parfaitement fonctionné pour moi.

Quand nous suivons option 2 la création d'un nouveau projet ne déclenche plus ce problème contrairement à option 1 .

Autres lectures

Page de support Intellij

Page des développeurs Android

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

8voto

Alex A. Adusei Points 81

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

-Djdk.util.zip.ensureTrailingSlash=false

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X