Como definir o JDK para Android Studio?

42

Não consigo compilar um novo projeto padrão para o Android 2.1 porque (?) O JDK usado pelo Android Studio é o JDK 1.7, mas deve ser o JDK 1.6.

Para alterá-lo, vou em Arquivo -> Estrutura do Projeto e tento encontrar o local do JDK 1.6.

Mas quando seleciono seu diretório e pressiono OK, recebo o seguinte erro:

Escolha um diretório JDK válido

Escolha um diretório JDK válido

Como você pode ver na captura de tela, estou tentando definir o Java 6 OpenJDK de 64 bits como o novo JDK.

O que eu posso fazer? O Android Studio não é compatível com o OpenJDK e devo usar o Oracle JDK?

Lucio
fonte
Você já tentou a binpasta?
Louis Matthijssen
Eu tentei com: ./bin| ./jre| ./jre/binmesma mensagem para todos
Lucio
1
Para mim, eu apenas tive que usar a pasta acima /jrena estrutura de diretórios, então meu caminho é /usr/lib/jvm/java-8-oraclee não /usr/lib/jvm/java-8-oracle/jre. Eu assumi que o caminho deveria terminar /jredesde o caminho padrão (o JDK "incorporado"), mas acontece que, se você procurar na pasta padrão, é uma pasta chamada "jre" que contém outra pasta chamada "jre" .
Jack M

Respostas:

24

Estou usando o OpenJDK 7 com o Android Studio e funciona muito bem. (Eu nem tenho o Oracle JDK instalado no momento.)

Nessa tela que você está mostrando (Estrutura do Projeto -> SKD Location) Eu tenho o seguinte caminho para a localização JDK : /usr/lib/jvm/java-1.7.0-openjdk-amd64.

Daniel
fonte
8

Ao inspecionar studio.sh, você também pode definir um dos STUDIO_JDK, JDK_HOMEou JAVA_HOMEvariáveis de ambiente para apontar para a localização JDK.


studio.shverifica os STUDIO_JDK, JDK_HOMEe JAVA_HOMEvariáveis de ambiente na seguinte ordem:

if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"

Assim, você pode configurá-las conforme apropriado e o Studio as selecionará.

Nuno
fonte
Isso funciona para janelas também. útil se você tiver um JDK com DCEVM como padrão em JAVA_HOME que não funciona com o android studio.
Mateus Viccari 10/08/16
5

Parece que o Android Studio não reconhece o OpenJDK, então eu preciso instalar o OracleJDK .

Então eu escolhi o caminho para o Oracle JDK e funcionou!

Lucio
fonte
Eu instalei, mas não consigo definir sua variável de caminho. você pode me dizer como posso fazer isso?
Nitesh Verma
1
Sim, primeiro verifique se a java -versionsaída está correta na sua versão Java . Em seguida, na janela AS, escolha /usr/lib/jvm/jdk1.8.0/. Isso foi o suficiente para mim naquele momento :-)
Lucio
3

Isso funcionou para mim:

  1. Descubra o diretório java:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
  2. Abra o Android Studio e, em seguida, Arquivo-> Estrutura do Projeto.

  3. Em Localização do SDK, passei o diretório java de cima
  4. Espere alguns segundos e eu recebi "0 erros 0 anúncios"

Funcionou! :)

canorios
fonte
2

Etapas que segui:

  1. Terminal aberto e entre echo $JAVA_HOME

  2. Copiou o caminho exibido no terminal - Ctrl+ Shift+ Ccopy no terminal Ubuntu

  3. No estúdio Android - Estrutura do projeto - colou o caminho copiado

  4. Esperou o software reconhecer e atualizar as configurações

  5. Isso resolveu o problema das configurações inválidas do Jdk

anand24
fonte
1

Se você possui uma ./binpasta com um JDK e um Android Studio, pode definir a STUDIO_JDKvariável antes de executar studio.shem um terminal:

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh
antoineMoPa
fonte
0

Corrigi esse problema. Eu uso o AS 2.1 e o JDK1.7, enquanto ele exigia a atualização do JDK1.8 para algumas funções. Eu faço o download do arquivo de instalação do java. Talvez eu apenas instalei o jre, mas não o jdk. então AS sempre me avisa que "Por favor, escolha um diretório JDK válido". Então, acho que o problema do solicitante é o mesmo que eu: você deve instalar um JDK, mas não o jre.

Songtao Lou
fonte
0

Eu acho que você pode ter instalado o jdk em outro lugar, por exemplo /usr/local/java. No meu caso, também vi o mesmo nome de pasta no diretório mostrado na sua captura de tela.

Portanto, verifique se o jdk está presente em outro lugar.

Udayraj Deshmukh
fonte