Ich versuche, eine Klasse in Android zu erstellen, aber ich habe diesen Fehler erhalten
Vorlage "Klasse" kann nicht analysiert werden Fehlermeldung: Diese Vorlage hat keine Java-Klasse oder Schnittstelle erzeugt
und im Ereignisprotokoll habe ich diesen Fehler erhalten
FileNotFoundException: Eintrag fileTemplates // code/Google Test Fixture SetUp Method.cc.ft nicht in /D:/Android%20Studio/lib/idea.jar gefunden
das ist meine app 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'
dieses bulid gradle projekt
// 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
}
was ist los?
Gehen Sie zu Datei-> Einstellungen-> Editor-> Datei- und Code-Vorlagen, wählen Sie auf der Registerkarte Dateien die Option Klasse aus, und fügen Sie Folgendes ein:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { }
Ich habe das gleiche Problem und habe es gelöst, indem in idea.vmoptions
oder idea64.vmoptions
folgende Zeile hinzugefügt wurde:
-Djdk.util.Zip.ensureTrailingSlash=false
wie gezeigt in JetBrains Support durch User Wojciech Fred
Scheint ein Fix zu sein, das von Oracle auf Java 8 Update 144 angewendet wurde
Ich hoffe es hilft: D
Bearbeiten: In Android Studio heißt die Datei studio.vmoptions und kann im Konfigurationsverzeichnis gefunden werden. Sie ist jedoch einfacher, wenn Sie das Menü "Hilfe> Benutzerdefinierte Optionen VM bearbeiten" aufrufen: Android Studio-Konfiguration
So etwas habe ich in Android Studio gesehen. Ich habe IntelliJ Idea geöffnet (da Android Studio darauf basiert), und den Standardtext der jeweiligen Vorlage kopiert und in Android Studio die entsprechende Datei eingefügt.
Gehen Sie zu Datei-> Einstellungen-> Editor-> Datei- und Codevorlagen, wählen Sie auf der Registerkarte Dateien die Option Klasse aus, und schreiben Sie diese
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { }
Ich habe diesen Fehler noch nicht gesehen. Dieses Problem trat erst nach der Neuinstallation meines Android-Studios (Version 3.0) auf. Beim Erstellen einer neuen Klasse wird der in der Frage erwähnte Fehler angezeigt.
Vorlage "Klasse" kann nicht analysiert werden Fehlermeldung: Diese Vorlage konnte nicht eine Java-Klasse oder eine Schnittstelle erzeugen
Es gibt also zwei Möglichkeiten, diesen Fehler zu beseitigen
Gehen Sie zu Datei-> Einstellungen-> Editor-> Datei- und Code-Vorlagen, wählen Sie auf der Registerkarte Dateien die Option Klasse aus, und schreiben Sie diese
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { }
Fügen Sie der benutzerdefinierten Option VM (studio.vmoptions) die folgende Zeile hinzu.
-Djdk.util.Zip.ensureTrailingSlash=false
Mein Vorschlag ist, es mit Android Studio hinzuzufügen (Wählen Sie Hilfe-> Benutzerdefinierte bearbeiten VM - Optionen-> und fügen Sie dann den Code hinzu). Wenn Sie zuvor keine benutzerdefinierte VM - Optionsdatei erstellt haben, wird ein Dialogfeld mit der Meldung "Benutzerdefinierte VM - Optionsdatei ist nicht vorhanden. Möchten Sie sie erstellen?" Auswählen VM Optionsdatei. Folgen Sie dann den oben genannten Schritten.
Welches ist besser?
Als ich zum ersten Mal auf dieses Problem stieß, wähle ich Option eins und es funktionierte gut, bis ich mein nächstes Projekt startete. Als ich ein neues Projekt startete, tauchte das Problem erneut auf. Ich besuche diese Seite und fand option 2. Es funktionierte perfekt für mich.
Wenn wir option 2 folgen, löst das Erstellen eines neuen Projekts dieses Problem im Gegensatz zu option 1 nicht erneut aus.
der Trick von Semikolon funktioniert Um Schnittstellen hinzuzufügen, gehen Sie zu
Android Studio -> Preferences -> File and Code Templates -> Files -> Interface
und fügen Sie den folgenden Code hinzu
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public interface ${NAME} { }
Dies alles mag richtig sein und sehr gut funktionieren, ich benutze diese Optionen für ein paar Tage und es ist auch Arbeit für mich, aber es gibt eine andere Option, und ich denke, die ist viel besser, weil diese Option durch gegeben wird. Android-Entwickler welches wie folgt gegeben ist:
Für Klassenvorlage:
#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 {
}
Schnittstellendatei-Vorlage
#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 {
}
Der Grund ist, dass Sie möglicherweise die 64-Bit-Version auf einem 32-Bit-Computer installiert haben. Ich hatte das gleiche Problem. Wenn Sie ein 32-Bit-Betriebssystem haben, deinstallieren Sie die 64-Bit-Version von Android Studio und installieren Sie die 32-Bit-Version von dieser Seite: https://developer.Android.com/studio/index.html#downloads
Ich bin auf einem Mac, der IntelliJ IDEA 14 verwendet, und ich habe die Datei idea.vmoptions hier gefunden:
~/Applications/IntelliJ IDEA 14 (Right click Show Package Contents) /Contents/bin/idea.vmoptions
Dann fügte ich dieselbe Zeile hinzu, die der oberste Antwortende vorschlug:
-Djdk.util.Zip.ensureTrailingSlash=false
Hallo, ich hatte den gleichen Fehler und der Fehler war auf eine fehlerhafte Syntax in der Java-Datei-Header-Vorlage zurückzuführen. Ich habe es auf folgende Weise gelöst:
Gehe zu:
Android Studio -> Preferences -> File and Code Templates -> Includes -> File Header
Wenn Sie einige Variablen in der Vorlage definiert haben, prüfen Sie, wie die Variablen definiert werden sollen (zum Beispiel):
#set( $USER = "Your Name")
anstatt
#set( USER "Your Name")
Ich hoffe, es hilft
Ich habe das gleiche Problem bei Idea 14 festgestellt. Als es jedoch gerade installiert wurde, war es nicht der Fall. Später wurde es nach der Installation des Protobuf-Plugins angezeigt. Wenn Sie das protobuf-Plugin deinstallieren, funktioniert es wieder.
Vielleicht hilft jemand ...
Ich hatte das gleiche Problem, es sah so aus, als ob ich keine Einstellungen geändert oder Android Studio aktualisiert habe. Ich habe es durch Auswahl gelöst
File -> Invalidate Caches & Restart
Gehen Sie zu Datei Dann Einstellung -> Editor -> Datei- und Codevorlagen, wählen Sie auf der Registerkarte Dateien die Option Klasse aus, und fügen Sie diese ein "#If ($ {PACKAGE_NAME} && $ {PACKAGE_NAME}! =" ") Package $ {PACKAGE_NAME}; # end #parse ("File Header.Java") öffentliche Klasse $ {NAME} {} " Klicken Sie anschließend auf Übernehmen.
In meinem Fall hat es vorher funktioniert, aber plötzlich wurde diese Fehlermeldung angezeigt. Ich habe einige der obigen Antworten ausprobiert, aber nicht geholfen, um das Problem zu beheben.
On Intellij Gehen Sie zu File> Invalidate Caches/Restart und wählen Sie Option zum Ungültigmachen und Neustarten .
Ich hoffe es hilft.
Ich hatte dasselbe Problem, aber ich habe dieses Problem durch folgende Schritte behoben:
Schritt 1: Gehen Sie zum Menü Datei >> Einstellung
Schritt 2: Klicken Sie anschließend auf Editor und dann auf Datei- und Codevorlagen
Schritt 3: Wählen Sie jetzt Klasse
Schritt 4: Danach fügen Sie diesen Code in den Editor ein. Weitere Einzelheiten finden Sie in der Abbildung.
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.Java") public class ${NAME} { }