Не удалось проанализировать шаблон "Класс"
Я пытаюсь создать класс в android, но я получил эту ошибку
Невозможно проанализировать шаблон "Класс" Сообщение об ошибке: этот шаблон не создавал класс Java или интерфейс
и в журнале событий я получил эту ошибку
FileNotFoundException: Entry fileTemplates//code/Google Test Fixture SetUp Method.cc.ft не найден в /D:/Android%20Studio/lib/idea.jar
это мое приложение 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'
this bulid gradle project
// 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
}
что не так?
Ответы
Ответ 1
Перейдите в Файл- > Настройки- > Редактор- > файлы и шаблоны кода, выберите "Класс" на вкладке "Файлы" и вставьте это:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") public class ${NAME} { }
![Screenshot of editor]()
Ответ 2
У меня та же проблема, и я решил ее, добавив в idea.vmoptions
или idea64.vmoptions
следующую строку:
-Djdk.util.zip.ensureTrailingSlash=false
как показано в поддержке JetBrains пользователем Wojciech Fred
Кажется, это исправление, примененное оракулом к обновлению Java 8 144
Надеюсь, это поможет: D
Редактировать: в Android Studio файл называется studio.vmoptions, и его можно найти в каталоге конфигурации, но это проще сделать, если перейти в меню "Справка> Изменить пользовательские параметры виртуальной машины": Конфигурация Android Studio
Ответ 3
Я столкнулся с чем-то подобным в студии Android. Что я сделал, так это то, что я открыл IntelliJ Idea (поскольку на нем основана студия Android) и скопировал текст по умолчанию соответствующего шаблона и вставил в соответствующий файл андроидной студии.
Перейдите в Файл- > Настройки- > Редактор- > файлы и шаблоны кода, выберите "Класс" на вкладке "Файлы" и напишите
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") public class ${NAME} { }
Ответ 4
Я не сталкивался с этой ошибкой раньше. Я столкнулся с этой проблемой только после того, как переустановил свою андроид студию (версия 3.0). Создание нового класса дает следующую ошибку, как указано в вопросе.
Невозможно разобрать шаблон "Класс" Сообщение об ошибке: Этот шаблон не создал класс Java или интерфейс
Таким образом, есть два способа избавиться от этой ошибки
Вариант 1 - ответ @Semicolon
Перейдите в File-> Настройки → Editor-> Шаблоны файлов и кодов, выберите "Класс" на вкладке "Файлы" и напишите это.
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") public class ${NAME} { }
Вариант 2 - ответ @Angel Castelo
Добавьте следующую строку в пользовательский параметр вашей виртуальной машины (studio.vmoptions).
-Djdk.util.zip.ensureTrailingSlash=false
Я предлагаю добавить его с помощью Android Studio (выберите Help-> Изменить пользовательскую виртуальную машину Options->, затем добавьте код). Если вы ранее не создавали файл параметров настраиваемой виртуальной машины, появится диалоговое окно с сообщением "Файл параметров настраиваемой виртуальной машины не существует. Хотите ли вы его создать" Выберите "Да", и студия создаст файл параметров настраиваемой виртуальной машины. Затем выполните шаги (вышеупомянутые).
Заключение
Какой из них лучше?
Когда я впервые сталкиваюсь с этой проблемой, я выбираю первый вариант, и он работал хорошо, пока я не начал свой следующий проект. Когда я начал новый проект, проблема появилась снова, поэтому я зашел на эту страницу и нашел вариант 2, и он отлично сработал для меня.
Когда мы следуем варианту 2, создание нового проекта больше не вызывает эту проблему, в отличие от варианта 1.
Дальнейшее чтение
Страница поддержки Intellij
Страница разработчика Android
Узнайте больше о шаблонах файлов Android Studio
Ответ 5
В вашей IntelliJ IDE выберите Справка => Изменить пользовательские параметры виртуальной машины и добавьте к вашей idea.vmoptions или idea64.vmoptions следующую строку:
-Djdk.util.zip.ensureTrailingSlash=false
Вы можете прочитать больше об этом здесь и здесь.
Ответ 6
трюк от Semicolon works
Аналогично для добавления интерфейсов перейдите к
Android Studio -> Preferences -> File and Code Templates -> Files -> Interface
и добавьте следующий код
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") public interface ${NAME} { }
Ответ 7
Этот ответ может быть правильным, и он работает очень хорошо, я использую эти параметры в течение нескольких дней, и он работает для меня тоже, но есть еще один вариант, и я думаю, что он намного лучше, потому что этот вариант предоставляется Android-разработчиком, который как дать, как показано ниже:
Для шаблона файла класса:
#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 {
}
Шаблон интерфейсного файла
#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]()
Ответ 8
Причина в том, что вы, возможно, установили 64-разрядную версию на 32-битной машине. У меня такая же проблема. Если у вас 32-разрядная ОС, попробуйте удалить 64-разрядную версию Android Studio и установить 32-разрядную версию с этой страницы: https://developer.android.com/studio/index.html#downloads
Ответ 9
Привет, у меня была такая же ошибка, и ошибка произошла из-за плохого синтаксиса в шаблоне заголовка файла Java. Я решил это следующим образом:
Перейдите к:
Android Studio -> Preferences -> File and Code Templates -> Includes -> File Header
Если вы определили некоторые переменные в шаблоне, проверьте, как определяются переменные, должны быть (например):
#set( $USER = "Your Name")
вместо
#set( USER "Your Name")
Я надеюсь, что это поможет
Ответ 10
Я использую IntelliJ IDEA 14 на Mac и нашел файл idea.vmoptions здесь:
~/Applications/IntelliJ IDEA 14 (Right click Show Package Contents) /Contents/bin/idea.vmoptions
Затем я добавил ту же строку, которую предложил главный ответчик:
-Djdk.util.zip.ensureTrailingSlash=false
Ответ 11
У меня была та же проблема, просто оказалось, что я не менял никаких настроек и не обновлял Android-студию. Я решил это, выбрав
File -> Invalidate Caches & Restart
Ответ 12
Перейдите в "Файл", затем "Настройка" → "Редактор" → "Шаблоны файлов и кодов", выберите "Класс" на вкладке "Файлы" и вставьте этот пакет "#if ($ {PACKAGE_NAME} && $ {PACKAGE_NAME}! =" "$ $ PACKAGE_NAME}; #parse ("File Header.java"), открытый класс $ {NAME} {} ", затем нажмите Apply.
Ответ 13
У меня возникла та же проблема, но я исправил эту проблему, выполнив следующие действия:
Шаг 1: Зайдите в меню Файл >> Настройка
Шаг 2: нажмите "Редактор", затем "Шаблоны файлов и кода".
Шаг 3: Теперь выберите Класс
Шаг 4: После этого вставьте этот код в редактор. Для более подробной информации смотрите изображение.
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") public class ${NAME} { }
![enter image description here]()