Major.minor versão 52.0 sem suporte ao renderizar no Android Studio

106

Quando tento renderizar uma visualização de layout no Android Studio, recebo o erro:

Major.minor versão 52.0 não suportada

Ivo Stoyanov
fonte
Você deve indicar o sistema operacional e a versão do Java. Atualize para uma versão mais recente do Java. Se estiver no Debian, certifique-se de usar o Debian Stretch (8.9, Java 8) ao invés do Debian Jessie (8.1, Java 7).
jww

Respostas:

99

Verifique se você JAVA_HOMEdeseja usar o jdk 1.8

Verifique também: o parâmetro no Android Studio para alterar em

Arquivo-> Outras configurações-> Estrutura do projeto padrão-> SDKs

Fredblabla
fonte
4
Olá, tenho o jdk1.8 instalado e "vinculado" na estrutura do projeto e o problema ainda acontece
Kotik_o
Sua resposta é boa, mas talvez acrescente que, ao abrir a Estrutura do Projeto, você terá uma visão geral dos problemas atuais, como a versão JDK.
jobbert
1
Obrigado; apenas instalar o JDK 8 e configurá-lo na estrutura de projeto padrão funcionou para mim.
pipedreambomb
1
No OSX, configurei JAVA_HOME para / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home, resolvendo o problema.
Zhang Buzz
Descobri que a configuração JAVA_HOMEnão é necessária, mas usar File->Project Structureé. Além disso, você pode definir o valor para 'Usar JDK incorporado'.
ThomasW
70

Este é um bug no Android Studio. Normalmente você obtém o erro: versão principal.minor não suportada 52.0

SOLUÇÃO ALTERNATIVA: se você instalou o Android N, altere a versão de renderização do Android por uma mais antiga e o problema desaparecerá.

SOLUÇÃO: Instale o Android SDK Tools 25.1.3 (ferramentas) ou superior

insira a descrição da imagem aqui

Ivo Stoyanov
fonte
Hahaha quão simples é isso ?? E aqui eu pensei que iria
gastar
12
Onde está esta janela de visualização? O item de menu My View \ Tool Windows \ Preview está desativado.
Lorek de
Estou usando o Eclipse 4.5.2, o Android SDK Tools é 24.4.1 e o ADT é 23.0.7. Eu tenho o mesmo erro. Como devo resolver isso?
Dr.jacky 01 de
@ Mr.Hyde Você está usando o JDK 1.8?
rm8x
você pode ser mais específico? Como posso mudá-lo? Quais comandos?
João Pimentel Ferreira
41

Já fiz tudo, configurando JAVA_HOME, JAVA8_HOME, ... e sempre tive o erro. Para mim, a solução foi definir a versão 2.1.0 do gradle para funcionar com Jdk 1.8.0_92 e android studio 2.11

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    //classpath 'com.android.tools.build:gradle:2.+'
}
FeelCode
fonte
1
Eu pesquisei por 2 horas para resolver esse problema. Você salvou minha vida!
Parque Soohwan de
SIM! Isso também resolveu para mim, nenhuma das outras respostas sugeridas funcionou. Tive o problema em um projeto que tinha alguns meses e quando tentei abri-lo em um novo computador com Android Studio novo.
Mattias Petter Johansson
Isso funcionou para mim, obrigado .. !! Mas por que me deu erro. Seguindo o caminho de classe, configurei o caminho de classe 'com.android.tools.build:gradle:2.3.0-alpha2'
Parin Parikh
36

Para aqueles de vocês, que ainda estão enfrentando isso. Tive esse problema depois de fazer upgrade para o Android Studio para 2.1.2. Fiquei preso neste problema por cerca de uma hora, tentei estas soluções:

  1. multidexEnabled true
  2. aumentando a memória para o thread deamon
  3. atualizado para Java 8

Verifiquei novamente os scripts do Gradle e encontrei o seguinte:

 compileSdkVersion 23
 buildToolsVersion "24.0.0"

alterado para:

compileSdkVersion 23
buildToolsVersion "23.0.3"

Não sei como isso causou o erro, mas funcionou para mim. Por favor, deixe-me saber como isso funcionou se você souber a resposta. obrigado

karan vs
fonte
Obrigado. Isso resolveu o problema que tive ao compilar meu projeto Android.
stevehs17
A atualização do Java 8 era tudo que eu precisava
rm8x
28

Major.minor versão 52.0 não suportada

Quando um JDK superior é usado para compilação, ele cria um arquivo de classe com uma versão superior e quando um JDK inferior é usado para executar o programa, ele descobriu que a versão superior do arquivo de classe não é suportada no nível de JVM e resulta em java.lang.UnsupportedClassVersionError.

Como consertar

  • Aumente a versão JAVA que você está usando para executar seu programa

Você pode seguir alguns truques

  • Chamar classpath da versão estável 'com.android.tools.build:gradle:2.1.0' // 2.3.0

Configurando o Gradle

Para habilitar os recursos da linguagem Java 8 e Jack para seu projeto, digite o seguinte no arquivo build.gradle de nível de módulo:

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

A cortesia vai para recursos da linguagem Java 8

Basta selecionar "API 23: Android 6.0" na seção de visualização.

insira a descrição da imagem aqui

IntelliJ Amiya
fonte
@fantasy meu prazer.
IntelliJ Amiya
Tive que diminuir o gradle e incluir as opções de jack Java. Porém ainda não entendo porque o erro acontece e como será resolvido no futuro. Tenho tudo atualizado para as versões mais recentes: /
htafoya
25

Se você está vendo este erro e acabou de atualizar para o Android Studio 2.2+, precisa atualizar seu JDK nas opções de "Estrutura do projeto".

No OSX, pode ser encontrado em File > Project Structure > SDK. Ou na tela de boas-vindas em Configure > Project Defaults > Project Structure.

Selecione a Use the embedded JDK (recommended)opção em vez de usar seu próprio JDK.

Os documentos do Google ainda não foram atualizados para refletir essa mudança. Consulte: http://tools.android.com/tech-docs/configuration/osx-jdk

Will Vanderhoef
fonte
7

No meu caso, tive que alterar as dependências do build.gradlearquivo para:

dependencies { 
    classpath 'com.android.tools.build:gradle:2.1.0'
}

(originalmente era 2.2.2 ) Acho que isso foi gerado quando várias pessoas trabalharam no mesmo projeto com versões diferentes do gradle. Portanto, verifique sua versão do Gradle e edite este arquivo corretamente.

Boas vibrações!

Sebastian Corradi
fonte
7

Com a versão mais recente, é recomendável mudar para o JDK incorporado como na imagem abaixo, e isso resolverá seu erro

resolver o erro major.minor versão 52.0

MatPag
fonte
Não me importei com toda a movimentação com diferentes versões de SDK e JDK recomendadas aqui, mas estava prestes a fazer isso e descobri a opção "Usar JDK incorporado", que funcionou. Eu ia postar essa solução e vi a sua. Esta deve ser a solução correta, IMHO.
David Gish
Igual a @DavidGish, esta solução acertou em cheio
Jeremy Piednoel
4

Também recebi a mesma mensagem de erro de ' Unsupported major.minor version 52.0 ' ao executar ./gradlew makeJar para criar uma biblioteca jar pelo Android Studio 2.2.3.

Depois de mover para baixo a versão do plug-in gradle no build.gradle de 2.2.2 para 2.1.3 , a mensagem de erro desapareceu e tudo funcionou bem. classpath 'com.android.tools.build:gradle: 2.1.3 '

Não sei como a versão superior do plugin gradle causou o erro, mas funcionou para mim. por favor, deixe-me saber como isso funcionou se você souber a resposta, obrigado

Paul Y
fonte
muito obrigado por apontar 2.1.3. resolveu meu problema!
artman de
4

1, certifique-se de que a versão JVM do Gradle Gradle insira a descrição da imagem aqui

2 、 certifique-se de que ProjectSettings SDKs Veriosn insira a descrição da imagem aqui

lingyfh
fonte
3

Para mim, atualizar o Android Studio para a versão mais recente resolveu o problema.


fonte
3

Tentei encontrar uma solução para este problema. Tentei a maioria das soluções mencionadas neste tópico. No entanto, não tenho certeza de por que isso estava ocorrendo. Provavelmente um bug no Android Studio. De qualquer forma, foi isso que resolveu o problema:

No nível do aplicativo build.gradle, removido:

  classpath 'com.android.tools.build:gradle:2.2.0-beta1'

substituído por:

classpath 'com.android.tools.build:gradle:2.0.0'
sid_09
fonte
2

Isso ocorre devido à versão incompatível do java que você está usando no android studio e à versão do java que foi usada com o seu projeto importado. Vá para. File->Project structure->Change jdk 1.7 to jdk 1.8Depois disso, vá para File->click on Invalidate cachee reinicie. Espero que isto ajude..

E altere o caminho de classe de dependência no arquivo gradle

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'

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

Mudar para Java SDK para Java 8 funcionou para mim. Configurações do Android Studio: Arquivo -> outras configurações -> Estrutura do projeto padrão -> Localização do JDK -> jdk1.8.0_71.jdk / Conteúdo / Home

meeza
fonte
1

Certifique-se de fazer uma construção limpa após alterar uma versão do Java. Acontece que o Android Studio faz algum trabalho quando você troca o JDK, mas não limpa a área de trabalho e cria confusão¯\_(ツ)_/¯

Alex Styl
fonte
1

Este erro "Unsupported major.minor version 52.0" refere-se ao compilador java, embora a string "major.minor" seja muito semelhante ao formato da versão Android SDK.

Na plataforma Windows, além de atualizar o jdk para 1.8, certifique-se de que JAVA_HOME aponte para onde seu jdk 1.8 está instalado (isto é, C: \ Arquivos de programas \ Java \ jdk1.8.0_91).

somard
fonte
1

Tive que atualizar a versão Java para JDK 8 em Jenkins-> Gerenciar Jenkins-> Configuração de ferramenta global-> JDK .

ViliusK
fonte
1

Mudar para Java SDK para Java 8 e funcionou para mim

Configurações do Android Studio:

Arquivo> outras configurações> Estrutura do projeto padrão> Local JDK> jdk1.8.0_71.jdk / Conteúdo / Home insira a descrição da imagem aqui

Uğur KANTEKİN
fonte
Primeiro respondi a @intellij amiya e depois tive que fazer isso para realmente fazer funcionar, obrigado!
Peter P.
1

O Android Studio se comporta de forma estranha nesse caso. Mesmo que você defina a versão do JDK em Arquivo -> Estrutura do projeto -> Local do SDK, o Android Studio só usa isso para compilar os arquivos. Ao executar esses arquivos, por algum motivo, ele olha a variável PATH para descobrir onde o java está instalado.

Se você tiver uma versão anterior do java instalada em seu sistema, sua variável PATH estará apontando para essa versão anterior do java.

Portanto, você deve definir seu PATH para apontar para a mesma versão do java que definiu nas configurações de projeto do Android Studio.

Em seu ~ / .bashrc ou arquivo de perfil correspondente, adicione o seguinte:

export PATH = "/ Applications / studio.app / Contents / jre / jdk / Contents / Home / bin: $ PATH"

No meu caso, meu projeto foi configurado para usar java 1.8, mas minha instalação de todo o sistema do java foi java 1.7. Isso estava causando o problema.

user3282666
fonte
0

No meu caso, minha Android SDK Build-toolsversão original é 24 e a Andoid SDK Toolsversão é 25.1.7. Eu instalo Android SDK Build-tools version 23.0.3por Andoird SDK manager.

Modifique essas 2 linhas para:

buildToolsVersion "23.0.3" compileSdkVersion 24

Então funciona!

Fang-Hua Hsu
fonte
0

Baixe o JDK mais recente e instale. Vá para Ferramentas do VS2015> Opções> Xamarin e altere o java para o local JDK mais recente

Marco Duindam
fonte
0

Além disso, se ocorrer um problema durante a execução do ./gradlewcomando, a configuração do java home no gradle.propertiesarquivo resolve este problema:

org.gradle.java.home=/usr/java/jdk1.8.0_45/

ViliusK
fonte
0

Para mim, o problema era que a versão do gradle em build.gradle não era igual à versão real do gradle que eu tinha instalado.

dependencies { classpath('com.android.tools.build:grade:2.2.0') { force = true}

Verifique as versões do Gradle instaladas em / Contents / gradle / m2repository / com / android / tools / build / gradle / e altere o arquivo build.gradle acima com

classpath('com.android.tools.build:grade:1.5.1') ou <>

joia rara
fonte
0

Eu tinha obtido o mesmo erro e tinha o JDK 8 definido como JAVA_HOME. Acontece que eu tinha o Android SDK Build-tools rev 25.0.2 instalado. Eu removi isso e instalei 23.0.2, e funcionou para mim.

Zela
fonte
-1

mude para
buildToolsVersion "23.0.2" no arquivo gradle do aplicativo.

Sangram Haladkar
fonte
Isso não é motivo.
IntelliJ Amiya