it-swarm.com.ru

Невозможно разобрать шаблон "Класс"

Я пытаюсь создать класс в Android, но я получил эту ошибку

Невозможно разобрать шаблон "Класс" Сообщение об ошибке: этот шаблон не создал класс Java или интерфейс

и в журнале событий я получил эту ошибку

FileNotFoundException: запись fileTemplates // code/Google 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'

этот проект 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
}

что не так?

31
Hanan

Перейдите в Файл-> Настройки-> Редактор-> Шаблоны файлов и кода, выберите Класс на вкладке Файлы и вставьте это:

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

Screenshot of editor

48
Da Man

У меня та же проблема, и я решил ее, добавив в idea.vmoptions или idea64.vmoptions следующую строку: 

-Djdk.util.Zip.ensureTrailingSlash=false

как показано в Поддержка JetBrains пользователем Wojciech Fred

Кажется, это исправление, примененное Oracle к обновлению Java 8 144

Надеюсь, это поможет: D

Правка: В Android Studio файл называется studio.vmoptions, и его можно найти в каталоге конфигурации, но это проще сделать, если перейти в меню «Справка> Изменить пользовательские параметры VM»: Конфигурация Android Studio

45
Angel Castelo

Я столкнулся с чем-то подобным в Android-студии. Что я сделал, так это открыл IntelliJ Idea (так как на нем основана студия Android), скопировал текст по умолчанию соответствующего шаблона и вставил соответствующий файл в студию Android.

Перейдите в Файл-> Настройки-> Редактор-> Шаблоны файлов и кода, выберите Класс на вкладке Файлы и напишите это 

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

Я не сталкивался с этой ошибкой раньше. Я столкнулся с этой проблемой только после переустановки Android-студии (версия 3.0). Создание нового класса дает следующую ошибку, как указано в вопросе.

Не удалось разобрать шаблон «Класс» Сообщение об ошибке: Этот шаблон не создать класс Java или интерфейс

Таким образом, есть два способа избавиться от этой ошибки

Вариант 1 - ответ @Semicolon

Перейдите в File-> Setting-> Editor-> File and Code Templates, выберите Class на вкладке files и напишите это

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

Вариант 2 - ответ @Angel Castelo

Добавьте следующую строку в пользовательский параметр VM (studio.vmoptions). 

-Djdk.util.Zip.ensureTrailingSlash=false

Я предлагаю добавить его с помощью Android studio (Выберите Справка-> Изменить пользовательские параметры VM ->, затем добавьте код). Если вы ранее не создавали пользовательский файл параметров VM, появится диалоговое окно с сообщением «Файл пользовательских настроек VM не существует. Хотите создать его?» Выберите «Да», и студия создаст пользовательский файл. VM файл опций. Затем выполните шаги (вышеупомянутые).

Заключение

Какой из них лучше?

Когда я впервые сталкиваюсь с этой проблемой, я выбираю первый вариант, и он работал хорошо, пока я не начал свой следующий проект. Когда я начал новый проект, проблема появилась снова, поэтому я зашел на эту страницу и нашел option 2, и она отлично сработала для меня. 

Когда мы следуем за option 2, создание нового проекта больше не вызывает эту проблему, в отличие от option 1.

Дальнейшее чтение

Страница поддержки Intellij

Страница разработчика Android

Узнайте больше о шаблонах файлов Android Studio

10
Johnett Mathew

В вашем IntelliJ IDE перейдите в «Справка»> «Изменить пользовательские параметры VM» и добавьте в файл idea.vmoptions или idea64.vmoptions следующую строку: 

-Djdk.util.Zip.ensureTrailingSlash=false

Вы можете прочитать больше об этом здесь и здесь .

8
Alex A. Adusei

трюк с точкой с запятой работает Аналогично для добавления интерфейсов перейдите к

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} { }
4
AMOGH KALYANSHETTI

Этот ответ может быть правильным, и он работает очень хорошо, я использую эти параметры в течение нескольких дней, и это работает для меня тоже, но есть еще один вариант, и я думаю, что он намного лучше, потому что этот параметр задается 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

4
Vikrant Shah

Причина в том, что вы, возможно, установили 64-битную версию на 32-битную машину. У меня такая же проблема. Если у вас 32-разрядная ОС, попробуйте удалить 64-разрядную версию Android Studio и установить 32-разрядную версию с этой страницы: https://developer.Android.com/studio/index.html#downloads

2
SolderingIronMen

Я использую IntelliJ IDEA 14 на Mac и нашел файл idea.vmoptions здесь:

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

Затем я добавил ту же строку, которую предложил главный ответчик:

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

Привет у меня была та же ошибка, и ошибка была из-за плохого синтаксиса в шаблоне заголовка файла Java. Я решил это следующим образом:

Идти к:

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

Если вы определили некоторые переменные в шаблоне, проверьте, как переменные определены (например):

#set( $USER = "Your Name")

вместо 

#set( USER  "Your Name")

Я надеюсь, что это помогает

1
mgfernan

У меня была та же проблема, просто оказалось, что я не менял никаких настроек и не обновлял Android-студию. Я решил это, выбрав

File -> Invalidate Caches & Restart
0
Arlind

Перейдите в «Файл» Затем установите -> редактор -> шаблоны файлов и кода, выберите «Класс» на вкладке «Файлы» и вставьте этот пакет "#If ($ {PACKAGE_NAME} && $ {PACKAGE_NAME}! =" ") $ {PACKAGE_NAME}; # end #parse ("File Header.Java") публичный класс $ {NAME} {} " Затем нажмите Apply.

0
Diya Bhat

У меня возникла та же проблема, но я исправил эту проблему, выполнив следующие действия:

Шаг 1: Зайдите в меню Файл >> Настройка 

Шаг 2: нажмите «Редактор», затем «Шаблоны файлов и кода».

Шаг 3: Теперь выберите Класс 

Шаг 4: После этого вставьте этот код в редактор. Для более подробной информации смотрите изображение.

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

 enter image description here

0
Sumit Kumar Gupta