Erro: compileSdkVersion android-21 requer compilação com JDK 7

106

Durante a compilação, recebo o erro Error:compileSdkVersion android-21 requires compiling with JDK 7, dizendo que uma versão mais recente do JDK é necessária.

Estou executando no OS X Yosemite com Android Studio v0.8.14

Coisas que eu verifiquei:

  1. Versão Java:

java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

  1. Dentro da pasta JavaVirtualMachine, vejo apenas a 1.6.0.jdkpasta, não consigo encontrar nenhuma outra pasta.

  2. Tentei reinstalar o JDk 8 e 7!

Não consigo encontrar a localização da pasta do jvm 1.8, nenhuma ideia de como posso consertar lá.

Arjun Komath
fonte
Estou tendo esse mesmo problema. Você encontrou uma solução para isso?
gsueagle2008
@EricCumbee O uso do Jdk 7 conforme mostrado abaixo resolveu o problema.
Arjun Komath
4
É um absurdo que esta seja a primeira experiência.
Andy

Respostas:

224

A correção exata para este problema (usuários do Android Studio no Mac)

Se você já atualizou para o Java 8, observe que a localização do JDK agora está dentro em /Library/Javacomparação com a localização do Java 6 /System/Library/Java. Então, para corrigir esse problema, clique com o botão direito sobre o Project folder> Project Structure>SDK Location.

Em seguida, altere a localização JDK para

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

Se você instalou uma versão diferente do JDK (diferente do Java 8), descubra o caminho usando o java_homescript primeiro e use a saída. Apenas corra,

/usr/libexec/java_home 
Subin Sebastian
fonte
10
Obrigado @Subin For Android studio 1.0.1 SDK Local localizado em File > Project Structureou simplesmente clique emCommand + ;
Husam
1
Resposta perfeita para usuários do Android Studio .. saved me
reidisaki
o caminho mencionado abaixo funcionou para mim /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
Teja Swaroop
2
Fiquei seriamente olhando para minha localização e pensando que estava tudo bem, mas continuei vendo jdk1.6 até que percebi o que você quis dizer sobre ter certeza de estar em / Library / Java em vez de / System / Library / Java, onde facilmente encontrei o jdk1. 8 para chegar a Conteúdo / Casa e boom, agora o Android Studio funciona sem erros constantes. Você é um santo!
ColossalChris
1
Isso também funciona para Windows! Basta apontar para a instalação do JDK. Exemplo:C:\Program Files\Java\jdk1.8.0_51
ADTC
29

Na verdade, acabei de encontrar a solução: o JDK 7 está em /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

que funcionou para mim. Oracle Docs onde o JDK7 está instalado

gsueagle2008
fonte
2
Não consigo ver esta pasta! o meu mostra apenas esta pasta1.6.0.jdk
Arjun Komath
Não me lembro onde o Android Studio estava procurando inicialmente, mas a pasta 1.7 JDK não estava na mesma árvore de diretórios que 1.6.0jdk.
gsueagle2008
6
@Arjun teve a mesma confusão que a sua. Mas então eu percebi que o diretório "Java" do JDK 7 está localizado em /Library/Javavez de /System/Library/Javaseparado do meu JDK 6
akhy
Então, em um inglês simples, o que você realmente fez para corrigir o problema?
JGallardo
{ROOT} /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
gsueagle2008
10

Eu tenho uma solução. Aconteceu comigo também e pesquisei muito no Google, mas só consegui dicas. Muitas dicas. E eu vim com uma solução certa.

Isso ocorre porque o computador não possui JDK 7 (ou superior) instalado. O diretório JDK em AS / Configuration pode apontar para JDK6. (Esse Sistema / Biblioteca / ...)

Tudo que você precisa fazer é:

  1. Baixe o JDK mais recente.
  2. Instale-o.
  3. Aponte Android Studio / Configure / Project Defaults / Project Structure / (JDK Location:) para / Library / Java / JavaVirtualMachines / jdk1.8.0_25.jdk / Contents / Home

O texto destacado em negrito-itálico pode ser diferente, por isso é recomendado que você navegue nele. Espero que isto ajude. Passei um dia inteiro bagunçando com o Gradle, o Android Studio. Boa codificação.

TheOnlyAnil
fonte
7

Descobri que as respostas de Eric e Subin combinadas resolveram meu problema:

ou seja, precisa definir o java JDK para a resposta de Eric (supondo que você esteja usando JDK 7):

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

O erro que cometi foi tentar selecionar apenas o diretório jdk1.7.0_71.jdk e continuei recebendo a mensagem de erro "Escolha um diretório JDK válido".

Eu estava trabalhando no formato usado anteriormente para JDK 6 :( - Funcionou quando eu forneci o caminho completo para Conteúdo / Home.

A resposta de Subin mostra como encontrar a localização do JDK, que pode ser diferente dependendo do que você está tentando fazer.

Obrigado Eric e Subin!

user2155964
fonte
3

Estou compartilhando isso porque quero ajudar aqueles que encontraram essa pergunta quando pesquisaram o erro no Google. A maioria das outras "respostas" na Internet consumia muito tempo. Siga abaixo antes que você perca tanto tempo como eu.


O que fiz foi baixar o JDK 7

Em seguida, altere a configuração do jdk para 1.7.0

insira a descrição da imagem aqui

JGallardo
fonte
3

Eu também tenho tido esse problema. Até agora, não consegui encontrar uma solução para isso, então, resolvi mudar a versão máxima do SDK para 20, que funciona com JDK6.

Quanto à localização do arquivo, em vez do Android Studio presumindo que deveria estar em / System / Library / Java / JavaVirtualMachines / Insert JDK version / Contents / Home.

Na realidade, meu JDK é instalado em / Library / Java / JavaVirtualMachines / JDK Version Here / Contents / Home.

Tentar selecionar um JDK no diretório real onde está instalado faz com que o android studio diga que preciso selecionar um local válido do JDK. Por enquanto, não consigo encontrar uma correção, então, como disse acima, recorri a alterar a versão máxima do SDK para 20 em vez de 21 e continuará assim até que mais pessoas sofram com o bug para que o Google o corrija. Ou até que uma correção real seja postada online, em vez de 101 maneiras de não funcionar.

Espero que isso ajude por agora, não é realmente uma solução / resposta, mas é uma solução alternativa que funciona para mim, por enquanto.

Leccles1
fonte
0

se você tiver apenas a pasta 1.6.0.jdk, acesse este link, baixe e instale o jdk 1.7. então encontre sua pasta java neste caminho

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
cerquilha
fonte
0

As soluções neste thread não são válidas para o mesmo erro no Android Studio 1.4. O menu de preferências, por exemplo, desapareceu. Abaixo está a solução para Android Studio 1.4 rodando no Ubuntu 14.04.

Para resolver no Ubuntu 14.04+ e Android Studio 1.4+, você precisa ir para

Arquivo -> Outras configurações -> Configurações padrão -> Compilação, execução, implantação -> Compilador -> Compilador Java -> Versão do bytecode do projeto

Esta lista suspensa estará vazia por padrão.

Defina o JDK de sua preferência, no caso do screencap abaixo, 1.8.

android sdk screencap

Voila, seu projeto será compilado.

Barnhillec
fonte
0
  1. Baixe aqui o JDK mais recente.
  2. Abra a ferramenta de linha de comando.
  3. Copie e cole a linha a seguir em sua ferramenta de linha de comando e pressione Enter.

/ usr / libexec / java_home

  1. Copie a saída deste comando.
  2. Volte para o seu projeto Android e navegue como abaixo

Arquivo -> Estrutura do projeto -> Localização JDK

edite (clique no quadrado com três pontos) a localização do JDK (segundo na imagem) e cole a saída da ferramenta de linha de comando lá.

insira a descrição da imagem aqui Reuni essas instruções usando o MacBook Pro.

user2511630
fonte