O Android Studio não conseguiu encontrar uma Jvm válida (relacionada ao MAC OS)

211

Não consigo iniciar o desenvolvimento do Android Studio para Android no Mac OS (10.10.1 - Yosemite)

iMickyRich
fonte

Respostas:

355

Abra o pacote de aplicativos para o Android Studio no localizador e edite o arquivo Info.plist . Mude a chave JVMversion. Coloque 1.6+ em vez de 1.6 *. Isso funcionou para mim!

Felicidades!

Editado:

Embora isso fosse necessário em versões mais antigas do Android Studio, isso não é mais recomendado. Veja a declaração oficial

"Observe: Não edite o Info.plist para escolher uma versão diferente. Isso quebrará não apenas a assinatura do aplicativo, mas também futuras atualizações de patches na sua instalação."

A resposta de Antonio Jose é a correta.

Obrigado aried3r!

hasternet
fonte
15
Eu mudei de 1,6 * para 1,8 * no meu mac
Titi Wangsa bin Damhore
5
Para concluir: isso deve ser feito no arquivo
Info.plist
7
Embora isso fosse necessário em versões mais antigas do Android Studio, isso não é mais recomendado. Veja a declaração oficial "Observe: Não edite o Info.plist para escolher uma versão diferente. Isso quebrará não apenas a assinatura do aplicativo, mas também futuras atualizações de patches na sua instalação". A resposta de Antonio Jose é a correta.
aried3r
6
De acordo com a resposta de Alonso e Shane, o pacote oficial da Apple fez o truque. Não é necessário mexer!
Justin Lawrence
6
Uau 1.6+ funcionou para mim .. Vou baixar um novo aplicativo assim que eles forem atualizados!
Neil Japhtha
174

Basta instalar esse cara aqui

http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US

e você deve ser bom.

Alonso C. Licks
fonte
3
@ MickyRich89 Experimente o seguinte: support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US
zhengyue
4
Não entendo como essa não é a resposta correta ou aceita. Isso basicamente corrige o problema e evita a edição de arquivos. Pelo menos no meu problema de não conseguir iniciar o Android Studio por falta de Javas em Yosemite. Mesma correção para Intellij 14.
Andy
8
Basta baixar e instalar a JVM mais recente da Oracle primeiro aqui: java.com/en/download/index.jsp E, em seguida, baixe e execute o pkg no link acima, você estará no Java 8 e ainda terá o lançamento adequado funcionando
Edward Tan
7
Além disso, para resumir o que funcionou para mim no Mac OSX 10.10: 1) instalei o Java 8u25 em java.com/en/download 2) instalei o Java que Alonso disse em seu link support.apple.com/kb/DL1572?viewlocale = pt_BR & locale = pt_BR
Alguém em algum lugar
2
Esta resposta é a maneira oficialmente recomendada (execute o Android Studio com JRE 6 e compile aplicativos com o JDK 7 ou 8): tools.android.com/tech-docs/configuration/osx-jdk
Steffen
140

[Atualização]
Isso foi corrigido no Android Studio 1.1 https://issuetracker.google.com/issues/37015035

Na próxima versão do Android Studio, se nenhum java 6 for encontrado, mas 7 (ou superior) for encontrado, ele será usado. Ainda recomendamos a execução do studio com Java 6 devido à renderização aprimorada da fonte, mas não há solução alternativa necessária, por exemplo, apenas o java 8 for encontrado.

[Fim da atualização]

Do Android Studio 1.0 RC3 Notas

A partir do RC 3, temos um mecanismo melhor para personalizar as propriedades dos lançadores nas três plataformas. Você não deve editar nenhum arquivo no diretório de instalação do IDE. Em vez disso, você pode personalizar os atributos criando seus próprios arquivos .properties ou .vmoptions nos seguintes diretórios. (Isso já era possível em algumas plataformas, mas era necessário copiar e alterar todo o conteúdo dos arquivos. Com as alterações mais recentes, essas propriedades agora são aditivas, para que você possa definir apenas os atributos de que gosta e o resto usará os padrões da instalação do IDE).

No entanto, não há explicação sobre o que são opções.

Depois de pesquisar um pouco, encontrei este
Ajuste de opções de VM para Android Studio no Mac
IntelliJ IDEA 14.0.0 Ajuda da web / IDEA de arquivo.

No entanto, não há sorte com isso.

Felizmente, consegui resolvê-lo no Yosemite usando variáveis ​​de ambiente, conforme mencionado nas Notas da versão 1.0 RC3.

Também é possível colocar variáveis ​​de ambiente de uso para apontar para arquivos de substituição específicos em outro lugar:
STUDIO_VM_OPTIONS, que arquivo de vmoptions para usar
STUDIO_PROPERTIES, qual arquivo de propriedades usar
STUDIO_JDK, com o qual o JDK executará o studio

Isso foi um pouco complicado, porque o Android Studio não é um aplicativo de linha de comando, então tive que usar um comando AppleScript para definir a variável de ambiente ao efetuar o login. Mais informações aqui

Este é o meu comando launchctl para a linha de comando.

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

E esse é o meu AppleScript (lembre-se de salvá-lo como um aplicativo)

do shell script "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

Sobre o launchctl, veja aqui

Antonio Jose
fonte
Eu sou capaz de criar um script. Adicionado esse script ao item de Login, mas toda vez que faço login, solicito que execute scripts. Podemos executar isso em segundo plano.
Twister_void
Não é recomendável usar o JDK 7 em vez de 8 para o Android Development?
Steffen
4
Você também pode executar o AS na linha de comando via -a Android \ Studio, o que permitiria criar um shell script muito simples que define o ambiente como acima e inicia o AS. Isso, para mim, era muito mais simples do que brincar com o launchctl e o AppleScript.
tbm
3
Na verdade, existe uma maneira de executar o AppleScript: editar .bash_profile(se esse arquivo não existir, crie um novo), colocar export STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk, sair do terminal (ou qualquer editor de texto que você esteja usando para editar esse arquivo), execute o Android Studio e viola. Testado com OSX 10.10 e Android 1.0.1
dumbfingers
1
@gio sim, você deve usar a versão instalada em sua máquina. Btw, você está usando o mais recente Android Studio? Porque esse script não deve mais ser necessário.
Antonio Jose
21

Observe que essa última variável permite executar, por exemplo, o Android Studio com Java 7 no OSX (que normalmente seleciona o Java 6 da versão especificada no Info.plist):

$ export STUDIO_JDK = / Biblioteca / Java / JavaVirtualMachines / jdk1.7.0_67.jdk

$ open / Aplicativos / Android \ Studio.app

Trabalhou para mim

Govind
fonte
export ANDROID_STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdkfez o truque para mim. Obrigado!
Jlhonora #
2
Obrigado. Esta é a mesma solução fornecida no site do Android. Aqui está o link: tools.android.com/tech-docs/configuration/osx-jdk
MondKin 4/15/15
1
Esta não é a resposta. A resposta oficial é instalar o Java 6 (JRE, não o JDK - JDK pode ser da Oracle) no site apple.com. É o que o site do Android Studio diz claramente.
Ilya
14

Mude esta chave no Info.plist

Eu mudei de

<key>JVMVersion</key>
<string>1.6*</string>

para

<key>JVMVersion</key>
<string>1.8*</string>

e funcionou bem agora ..

Editado: De
acordo com a declaração oficial mencionada acima por hasternet e aried3r, a solução de Antonio Jose está correta.

Obrigado!

Magster
fonte
"Observe: Não edite o Info.plist para escolher uma versão diferente. Isso quebrará não apenas a assinatura do aplicativo, mas também futuras atualizações de patches na sua instalação."
Nitesh goel
12

Como usuário iniciante, demorei um pouco para entender como corrigir isso da maneira correta. Depois de pesquisar e subestimar muitas respostas sobre o SO, saí com as etapas a seguir que você precisa seguir para corrigir o problema.

Observe:

Embora a solução mais simples seja atualizar o Info.plist do android studio. Mas não é recomendado e não é a maneira correta de corrigi-lo.

Declaração oficial- "Observe: Não edite o Info.plist para escolher uma versão diferente. Isso quebrará não apenas a assinatura do aplicativo, mas também futuras atualizações de patches na sua instalação."

Primeira solução: se você executar o Android Studio na linha de comando, poderá adicionar essas duas linhas ao seu .bash_profile

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk

$ open /Applications/Android\ Studio.app

Da próxima vez que você abrir o seu terminal, o seu estúdio iniciará automaticamente.

Segunda solução: se você deseja executar o Android Studio a partir da interface do usuário (clicando no ícone), siga as etapas abaixo:

  1. Editor de script aberto no mac (pode-se encontrá-lo em destaque )
  2. Copie além da linha abaixo

    do shell script "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

Nota: - Altere a versão do jdk de acordo com a sua versão. Para verificar qual versão você está usando no terminal aberto e execute o seguinte comando

java -version

3.Agora salve (⌘ + s) como formato de arquivo: aplicativo . Finalmente, abra Configurações do sistema → Usuários e grupos → Itens de login e adicione seu novo aplicativo que você acabou de criar.

  1. Faça logoff e logon novamente ou você pode executar esse aplicativo manualmente também.

woolaaaa… Está feito.

Referências :

Antonio Jose's answer

resposta de ruario

nitesh goel
fonte
1
Não é necessário reiniciar se você apenas abrir esse aplicativo, certo? :)
yjsoon
yeh desafiadoramente. Você pode executar esse aplicativo manualmente também.
Nitesh goel
1
@niteshgoel, obrigado pela resposta completa em um! Eu verifiquei que a reinicialização não é necessária, como você apontou, apenas um ciclo de log-off-log-in. :)
khyox
Esta não é a resposta. A resposta oficial é instalar o Java 6 (JRE, não o JDK - JDK pode ser da Oracle) no site apple.com. É o que o site do Android Studio diz claramente.
Ilya
9

Também estou usando o Mac OS X 10.10. E para corrigir esse problema.

  1. Abra o conteúdo do pacote de aplicativos do Android Studio (clique com o botão direito do mouse no ícone do Android Studio na pasta Aplicativo)
  2. Abrir arquivo Infor.plist
  3. Pesquise e substitua:

    <key> JVM version</key>
    <string>1.6*</string>

substituído por:

    <key> JVM version</key>
    <string>1.6+</string>

É isso aí!

luongnv89
fonte
"Observe: Não edite o Info.plist para escolher uma versão diferente. Isso quebrará não apenas a assinatura do aplicativo, mas também futuras atualizações de patches na sua instalação."
Nitesh goel
6

No Mac OS X Yosemite, basta instalar:

Kit de desenvolvimento Java SE 8

e

Java Versão 8, atualização 25

É tudo, trabalha para mim!

Gehev
fonte
O Java SE Development Kit 8 foi suficiente para mim. Obrigado!
Mathijs
5
  1. Instale o JDK mais recente (corrente 8u102)
  2. Definir variável de ambiente STUDIO_JDK( java_homegera o diretório inicial do Java e sedretira duas pastas para obter o diretório jdk)

    launchctl setenv STUDIO_JDK `/usr/libexec/java_home -version 1.8 | sed 's/\/Contents\/Home//g'`

  3. Inicie o Android Studio como faria normalmente

Defina STUDIO_JDK em cada reinicialização

As etapas acima funcionam apenas para a sessão atual. Aqui está como criar um arquivo plist em / Library / LaunchDaemons que executa o comando acima em cada inicialização:

sudo defaults write /Library/LaunchDaemons/com.google.studiojdk Label STUDIO_JDK
sudo defaults write /Library/LaunchDaemons/com.google.studiojdk ProgramArguments -array /bin/launchctl setenv STUDIO_JDK `/usr/libexec/java_home | sed 's/\/Contents\/Home//g'`
sudo defaults write /Library/LaunchDaemons/com.google.studiojdk RunAtLoad -bool TRUE

Descoberto o truque do plist graças a http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/

Tuan Pham
fonte
3

No site do projeto Ferramentas Android, há uma ótima explicação para a seleção do Mac OSX JDK . Corrigiu o meu problema. Em suma:

O Android Studio requer dois JDKs diferentes:

  • A versão do Java com a qual o próprio IDE é executado.
  • A versão do JDK que ele usa para obter o compilador Java de

Esses dois podem ser (e geralmente são) os mesmos, mas você pode configurá-los individualmente. E no OSX em particular, eles costumam ser diferentes.

e para os problemas do Yosemite (Mac OSX 10.10):

Primeiro, verifique se você tem a versão mais recente do Java 6 instalada; em alguns casos que corrigiram os problemas: http://support.apple.com/kb/DL1572

Caso contrário, tente executar uma versão recente do Java 7 ou Java 8, definindo STUDIO_JDK conforme descrito acima. É relatado que isso corrigiu os outros problemas (embora você obtenha a renderização de fonte mostrada para o Java 8 acima.)

Roger Suen
fonte
2

O Java foi desinstalado quando eu atualizei para o OS X El Capitan.

Veja a captura de tela do terminal antes e depois da reinstalação do Java.

insira a descrição da imagem aqui

Para reinstalar o Java, segui este link que foi fornecido na caixa de diálogo Android Studio.

insira a descrição da imagem aqui

O Android Studio foi executado novamente depois que a instalação do Java foi reinstalada.

bradley4
fonte
1

Edite o arquivo Info.plist do android studio no pacote para que ele use 1.7 ou qualquer JVMVersion que você instalou. Alterar a JVMVersion para 1.6+ em vez de 1.6 *, como o hasternet respondido acima, também deve funcionar.

O procedimento acima funciona, mas não é recomendado, consulte as Notas da versão do RC3

A partir do RC 3, possuímos um mecanismo melhor para personalizar as propriedades dos lançadores nas três plataformas. Você não deve editar nenhum arquivo no diretório de instalação do IDE . Em vez disso, você pode personalizar os atributos criando seus próprios arquivos .properties ou .vmoptions nos seguintes diretórios. (Isso já era possível em algumas plataformas, mas era necessário copiar e alterar todo o conteúdo dos arquivos. Com as alterações mais recentes, essas propriedades agora são aditivas, para que você possa definir apenas os atributos de que gosta e o resto usará os padrões da instalação do IDE).

consulte Android Studio falhou ao carregar a JVM no Mac OSX (Mavericks)

Iggy
fonte
2
Isso não é recomendado, como dito nas Notas da versão
Antonio Jose
1

No Mac OS X Yosemite, basta instalar:

Kit de desenvolvimento Java SE 8

e

Java Versão 8, atualização 25

É tudo, trabalho para mim também! como Gehev disse, tão simples!

iftach
fonte
1

Você pode implementar a STUDIO_JDKsolução usando os agentes de inicialização do usuário. Isso envolve a criação de um arquivo plist no diretório LaunchAgents, localizado em~/Library/LaunchAgents

Crie um novo arquivo, em ~/Library/LaunchAgents/UNIQUE_KEY.plistque UNIQUE_KEY é apenas um identificador. Eu uso com. nome de usuário .androidstudio.

Copie o texto a seguir no seu novo arquivo plist e modifique-o de acordo com as instruções abaixo.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>UNIQUE_KEY</string>
   <key>ProgramArguments</key>
   <array>
      <string>sh</string>
      <string>-c</string>
      <string>launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk</string>
   </array>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>

Você precisará fazer duas modificações:

  1. Altere UNIQUE_KEY para corresponder ao seu nome de arquivo (sem a extensão .plist).
  2. Verifique se o caminho do JDK está correto e altere, se necessário. Estou usando 7u71 neste exemplo.

Esta é a mesma solução subjacente que a resposta de Antonio Jose . Ele define a variável de ambiente STUDIO_JDK com base nas notas de versão do Android Studio versão 1.0 RC3 . Esta solução usa o diretório LaunchAgents em vez de AppleScript para definir a variável de ambiente. Como tal, é principalmente uma diferença na forma como você solicita e organiza suas variáveis ​​de sistema e ambiente.

David V
fonte
1

Não edite o plist.Essas instruções funcionaram para mim na primeira vez em que instalei o Android Studio há alguns meses, bem como hoje. (21/1/2015)

Tudo o que você precisa fazer é algumas coisas simples, embora elas não estejam realmente listadas no site do Google.

  1. Primeiro você precisa do Java instalado. este não é o JDK, é separado. Você pode obter isso neste link. Se você não tiver isso, provavelmente gerará um erro dizendo algo como "não JVM instalada".
  2. Segundo, você precisa do Java JDK, obtive o JDK 7 neste link. Certifique-se de escolher o link do Mac OS X sob o cabeçalho Java SE Development Kit 7u75. Se você não tiver isso, provavelmente gerará um erro dizendo algo como "não JDK instalado".
  3. Se você ainda não instalou o Android Studio, faça isso. Mas tenho certeza que você já fez isso até agora.
Scott
fonte
1

Como @Gerard sugeriu, eu verão meu comentário original ( https://stackoverflow.com/a/27370525/763459 ) como resposta, espero que ajude outras pessoas que estão incomodadas com esse problema.

Existe uma maneira de executar o AppleScript: edit .bash_profile(se esse arquivo não existir, crie um novo, como o @Gerard sugeriu, você pode usar source .bash_profilepela primeira vez).

  • Instale o Java legado (pode ser necessário) http://support.apple.com/kb/DL1572

  • Coloque a exportação STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk

  • Em seguida, feche o terminal (ou qualquer editor de texto que você esteja usando para editar este arquivo), execute o Android Studio e o viola

Testado com OSX 10.10 e Android 1.0.1

dumbfingers
fonte
1

O Android Studio lerá as configurações do arquivo ~ / Library / Preferences / AndroidStudio / idea.properties. Eu criei este arquivo e nele tem o caminho para o meu jdk:

STUDIO_JDK = / Biblioteca / Java / JavaVirtualMachines / jdk1.8.0_45.jdk

Nenhuma edição do Info.plist é necessária!

Uilleann
fonte
0

"No Mac OS, execute o Android Studio com Java Runtime Environment (JRE) 6 para renderização de fonte otimizada. Em seguida, você pode configurar seu projeto para usar o Java Development Kit (JDK) 6 ou JDK 7."

Isso foi listado em http://developer.android.com/sdk/index.html sob os requisitos de sistema para o Mac OS X.

Depois de instalar o Java 6 (não o JDK) da Apple, de acordo com Alonso C. Licks, você poderá abrir o Android Studio e reconfigurar conforme desejar, sem ter que mexer no terminal, no arquivo info.plist ou em outras bibliotecas.

John Doe
fonte
0

Eu baixei o Intellij Idea. Quando tento instalar o Intellij, aparece um pop-up que está faltando no meu Mac com o Java RE. Deseja fazer o download? Depois de baixar o pacote ausente usando o Intellij, eu poderia abrir o Android Studio.

super-herói
fonte
0

Resolvi esse problema alterando a versão da JVM no arquivo Info.plist para 1.7 *

Andre Coetzee
fonte
0

Eu corri esse garoto mau:

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
James B.
fonte
0

Estou lidando com o mesmo problema e resolvo isso.

é provável que sua versão do jdk não esteja correta.

agora instalei o jdk1.8 e agora está ok.

Manjericão
fonte
0

Para aqueles que estavam com problemas para criar um script iniciado na inicialização, como alternativa, você pode adicionar este .plist à sua pasta LaunchAgents. Essa pode ser uma maneira mais apropriada de adicionar variáveis ​​de ambiente ao sistema, já que o Yosemite decidiu acabar com o launchd.conf. Isso também deve funcionar em contas de usuário devido à natureza da pasta LaunchAgents, mas eu não testei isso.

Para fazer isso, crie um arquivo .plist com o seguinte nome e caminho:

/Library/LaunchAgents/setenv.STUDIO_JDK.plist

e o conteúdo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
            <string>setenv.STUDIO_JDK</string>
        <key>ProgramArguments</key>
            <array>
                <string>sh</string>
                <string>-c</string>
                <string>
                    launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
                </string>
            </array>
        <key>RunAtLoad</key>
            <true/>
        <key>ServiceIPC</key>
            <false/>
        <key>LaunchOnlyOnce</key>
            <true/>
        <key>KeepAlive</key>
            <false/>
    </dict>
</plist>

Altere as propriedades do arquivo executando os seguintes comandos no Terminal:

sudo chmod 644 /Library/LaunchAgents/setenv.STUDIO_JDK.plist

sudo chown root /Library/LaunchAgents/setenv.STUDIO_JDK.plist

sudo chgrp wheel /Library/LaunchAgents/setenv.STUDIO_JDK.plist

Notas:

1) Pode ser necessário alterar 'jdk1.8.0_25.jdk' para corresponder à versão que você possui no seu computador.

2) Tentei usar "jdk1.8. *. Jdk" para tentar explicar as versões Java * variáveis, mas quando abri o Android Studio, recebi o erro sem JVM, mesmo que você execute "echo $ STUDIO_JDK", ele retornará o caminho correto. Talvez alguém tenha alguma idéia de como corrigir esse problema.

LithiumI0n
fonte
0

Eu já tinha desinstalado o Java 6 e instalado o Java 7, o Android Studio estava funcionando bem, atualizei o Android Studio e tive o problema que todo mundo está tendo. Hoje, eu desinstalei o Java 7 e instalei o Java 8 do Oracle. Desinstalei o Android Studio e instalei o mais recente. Tudo está funcionando para mim agora

Gibran E Castillo
fonte
-1

Consegui fazê-lo funcionar editando o info.plist alterando 16 * para 16+. Tentei usar o método recomendado, mas isso falhou.

haroldbk
fonte