O Android N requer que o IDE seja executado com Java 1.8 ou posterior?

117

Meu XMLlayout não está renderizando com esta mensagem de erro. Já estou usando o Java 8.

insira a descrição da imagem aqui

Também usando as ferramentas de compilação mais recentes do Gradle.

android {
    compileSdkVersion 'android-N'
    buildToolsVersion 24.0.0 rc1
    ...
}

Erro XML -

insira a descrição da imagem aqui

mjosh
fonte
2
Existem todos os tipos de problemas de renderização com o Android Studio. Eu sugiro que você forneça um exemplo reproduzível mínimo . Nesse caso, isso incluiria o arquivo de layout e o erro específico.
CommonsWare
@CommonsWare Eu atualizei a imagem de erro XML. Instalar um JDK compatível me redirecionou para configurar etapas que já fiz.
mjosh
1
Tive que mudar para buildToolsVersion '24 .0.0 rc1 ', a documentação estava faltando as aspas.
Phyrum Tea
@PhyrumTea Não cometeu o erro desaparecer.
mjosh de
1
Finalmente, quando tentei construir e executar o projeto, ele falhou com Directory cannot have its readable permission cleared for everybody. Aparentemente, é um bug conhecido e o Google está trabalhando nisso.
mjosh

Respostas:

187

Recebi o mesmo erro que você descreveu, mas no OS X. Sei que isso pode não resolver o seu problema (porque não sei o equivalente para o Windows), mas como isso não é específico do sistema operacional, estou deixando a solução para qualquer colega do OS X lá fora. Edite o arquivo /Applications/Android\ Studio.app/Contents/Info.pliste remova a versão 1.6 (no meu caso), você pode colocar 1.6+, 1.7+ ou 1.8, como preferir. O meu acabou assim

...
<key>JVMVersion</key>
<string>1.7+</string>
...

Esteja ciente de que há uma incompatibilidade com arrastar e soltar com as versões de java 1.8_60 a 1.8_75 ( IDEA-146691 ) que o IDE relatará assim que você alterar a versão com sucesso.

Para usuários não terminais

  1. Encontre seu Android Studio.apparquivo. Se estiver no dock, você pode clicar com o botão direito e escolher Options > Show in Finder.
  2. Clique com o botão direito e escolha Show package content.
  3. Navegue até o arquivo mencionado ( Contents/Info.plist).
  4. Edite o arquivo com seu editor de texto favorito.
LaloLoop
fonte
11
Isso mudará a máquina virtual em que o Android Studio é executado. No meu OSX, o valor original era: <key> JVMVersion </key> <string> 1.6 *, 1.7 +, 1.8 </string> E o novo valor é: <key> JVMVersion </key> <string> 1.8 </ string>
santhyago
8
Funciona! Obrigado por esta solução. A questão é: por que o Google deseja que seus desenvolvedores percam seu tempo com essas questões?
Kotik_o
3
Obrigado por resolver a falta de documentação do Google :). Eu me pergunto por que essa instrução não está aqui: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (Este é o link exibido no android studio).
Totalys
7
Funciona bem!! Infelizmente, ao atualizar o Android Studio (o que acabei de fazer para a versão mais recente), ele redefine o arquivo Info.plist, então tenho que repetir as etapas novamente para alterar minha JVMVersion: <key>JVMVersion</key> <string>1.8</string>tão irritante Android Studio!
Micro
3
O Android Studio 2.2 usa <string> 1.8 *, 1.8 + </string>.
jmnwong de
147

Clique na letra N, ao lado do ícone do Android na janela de visualização e selecione API de nível 23 ou inferior. Isso deve resolver tudo.

Primeira linha de ícones na janela rpeview

Ian
fonte
25
Mas eu quero visualizar em N, não em API 23.
mjosh
3
Eu tive o mesmo problema no meu mac. reduzir o nível da API de 24 para 23 funcionou para mim.
salman
3
não uma resposta, siga a resposta marcada como certa
Pavneet_Singh
Esta não é uma resposta. Isso é simplesmente ignorar o ambiente problemático.
abril de
Bem feito. Sim, resolveu meu problema. Obrigado. :)
arango_86
63

Variáveis ​​de set JDK_HOMEe JAVA_HOMEambiente, no meu caso C:\Program Files\Java\jdk1.8.0_60.

insira a descrição da imagem aqui

Verifique a versão do Java em Help > About. Ele deve mostrar a versão do JRE que você acabou de definir.

insira a descrição da imagem aqui

É isso, agora você pode visualizar seu layout no N.

mjosh
fonte
1
Eu fiz o que você disse, mas quando ajudo-> sobre isso ainda aponta para o meu antigo jdk. Por que é que?
The_Martian
1
Tenho JRE: 1.8 (em cerca de). No entanto, não consigo construir aplicativos voltados para a v24. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica
1
@The_Martian você precisa reiniciar seu computador.
squeeish de
1
No Mac OS, removo minha versão antiga do jdk. Depois disso, o Android Studio escolhe a última versão
lopez.mikhael
1
@lopez.mikhael que na verdade é a única coisa que funcionou para mim no final. Mudei todas as configurações possíveis que pude encontrar, configurei tudo exatamente como deveria, continuei recebendo o erro. No final, movi os diretórios jdk mais antigos para um subdiretório que denominei old_jdks na pasta JavaVirtualMachine. Tudo funciona bem agora.
zgc7009
27

Para usuários de Mac com esse problema (estou executando o OS X 10.11.5 e o Android Studio 2.1.2), veja como você pode resolvê-lo:

Atualmente, a versão Mac do Android Studio é executada com Java 6 (não necessariamente a mesma que a versão JDK do aplicativo), porque Java 6 tem melhor renderização de fontes do que Java 7 e 8, e isso aparentemente é mais importante do que renderizar seu layout.

Em primeiro lugar, certifique-se de ter o JDK 8 instalado .

Em seguida, execute os seguintes comandos:

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk
$ open /Applications/Android\ Studio.app/

Você pode precisar alterar o 91no jdk1.8.0_91.jdkpara uma versão diferente. Você pode ver quais versões do JDK você tem com:

$ ls /Library/Java/JavaVirtualMachines/

Infelizmente, esse método requer a abertura do aplicativo no terminal, mas você sempre pode criar um script para ele.

Mais informações

Edit: E se você realmente não quiser abri-lo no terminal:

  1. Crie um AppleScript com conteúdo: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. Arquivo> Salvar Escolha o formato de arquivo Aplicativo . Salve em algum lugar.
  3. Se você deseja alterar o ícone, clique aqui.
  4. Arraste o aplicativo para a sua barra de lançamento, se desejar.
wumbo
fonte
quando tento executar o script, obtenho: error "sh: /usr/local/bin/studio: No such file or directory" number 127alguma forma de consertar? quando eu executo do terminal, ele funciona perfeitamente
Daniele
@Daniele Desculpe, esqueci que criei outro script de shell para isso. O AppleScript deve ter os mesmos comandos acima. Veja minha resposta atualizada.
wumbo
5

Eu encontrei o mesmo problema.

Instalei o jdk1.6, jdk1.7, jdk1.8 e implantei o Studio como você fez.

Minha solução é desinstalar o jdk1.6 e o ​​jdk1.7, deixe apenas o jdk1.8

sudo rm -rf ${path to jdk1.6}
sudo rm -rf ${path to jdk1.7}

Isso é tudo.

Youngwind
fonte
é seguro fazer
Micro
@MicroR Se os outros softwares não dependeram do jdk1.6 e do jdk1.7, acho que é seguro.
youngwind
Esta solução resolveu o problema para mim. Essa forma de desinstalação é segura e é a recomendada pela Oracle ( docs.oracle.com/javase/8/docs/technotes/guides/install/… )
Showpath
2

Estou usando o Ubuntu 14.04 e estava enfrentando um erro semelhante, com a diferença de que não tenho NDK. Minha solução foi, depois de configurar o Java 8 na definição do projeto, reiniciar o Android Studio, nada mais.

Verifique a versão do Java do sistema, no console "java -version", a saída deve dizer algo assim

java version "1.8.0_91"
Sergio A Guzmán
fonte
Eu defini JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home" STUDIO_SDK também deve ser "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
mythicalcoder
@Maven teoricamente, você pode definir a variável STUDIO_SDK que será o caminho do SDK para executar o Android Studio (como dito nos parâmetros de configuração tools.android.com/tech-docs/configuration do Studio ). No entanto, no meu caso, não configurei essa variável e o IDE está funcionando conforme o esperado.
Sergio A Guzmán
Você está certo. Tentei coisas diferentes. Na verdade, era o problema de 1.8 não conectado corretamente. Isso resolveu stackoverflow.com/a/35935433/2369867 . Obrigado.
mythicalcoder
2

Tive o mesmo problema com Ubunutu. O problema não era rodar o IDE com Java8.

Corrigi-lo com a atualização do programa java padrão do sistema operacional, usando:

sudo update-alternatives --config java

E escolher o caminho Java8 relevante.

danny11
fonte
1

Eu enfrentei o problema "Android N requer que o IDE seja executado com Java 1.8 ou posterior." O erro continuou aparecendo apesar de ter sido definido C:\Program Files\Java\jdk1.8.0_92como o JDK do projeto no File > Project Structure.

Eu resolvi isso atualizando JAVA_HOME em minhas variáveis ​​de ambiente de C:\Program Files\Java\jdk1.7.0_67para C:\Program Files\Java\jdk1.8.0_92. Quando fiz isso e reiniciei o Android Studio, o modo de design tornou-se disponível.

SO: Windows 10

Android Studio: 2.1.2

Maksim Dmitriev
fonte
1

Resolvi desta forma. (AS + MAC OX El Capitan)

  1. Atualizando ferramentas do SDK> Ferramentas da plataforma Android SDK
  2. Vá para Ajuda> Editar propriedades personalizadas> Uma caixa de diálogo solicitará (pressione sim) e escreva

    JVMVersion=1.8 

Em seguida, feche totalmente o Android Studio e recarregue o projeto

Milon
fonte
0

Meu problema era que o Android N estava "parcialmente instalado".

Minha solução foi ir para - Preferências / Aparências e comportamento / Configurações do sistema / SDK do Android e verificar o Status. Se estiver "parcialmente instalado", você deve desinstalar e reinstalar. (Desmarque a caixa de seleção e clique em aplicar; ele irá desinstalar; então você pode marcar a caixa e instalá-lo novamente) Funcionou para mim. Se você for para uma versão anterior (como a 23), terá que alterar a variável buildToolsVersion para "23.0.0" no build.gradle.

TiborK
fonte
1
O meu ainda diz "parcialmente instalado" após a reinstalação.
Andrew
O meu também "parcialmente instalado" após a reinstalação. @Andrew você achou alguma solução depois?
mythicalcoder
Para mim, @Maven descobriu que meu problema era que eu não estava selecionando a variante de compilação correta quando tentei compilar o aplicativo.
Andrew
0

Eu estava enfrentando o mesmo problema recentemente. Tente alterar o nível de visualização da API para 23 ou inferior. Isso funcionou para mim.


fonte
0

Eu havia enfrentado o mesmo problema. Certifique-se de que está renderizando o layout XML para a versão compilada do SDK (não deve ser maior). Significa que você enfrentará isso se estiver compilando o código usando o Targeted SDK versão 23 e tentando renderizar o XML no SDK versão 24.

Muhamed Riyas M
fonte
0

Há várias coisas a serem lembradas ao definir o STUDIO_JDK no Mac OS:

  • por padrão, o Java 1.6 da Apple é usado para iniciar o Android Studio
  • quando o STUDIO_JDK é definido como Java da Oracle, ele será usado pelo Android Studio para executar

A diferença entre os dois é que o Java IMO da Apple fornece suavização de fontes mais agradável e melhor no IDE.

Uma resposta aqui está fazendo referência a um bug no Android Studio em relação ao antialiasing de fontes. O tíquete já está fechado, mas a renderização ainda é diferente para Apple Java e Oracle SDK (eu tenho v1.8.0_102). E o primeiro ainda tem melhor percepção do que o anterior.

Mykola
fonte
0

tente usar no projeto Java 1.8 - baixe a última versão do JDK e instale-a (se JSK estiver ausente)

Em seguida, adicione a build.gradle estas linhas android {... // Configure apenas para cada módulo que usa recursos da linguagem Java 8 // (em seu código-fonte ou // por meio de dependências). compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} // Para projetos Kotlin kotlinOptions {jvmTarget = "1.8"}}

Alexandre
fonte
-1

máquina: windows8 64 bits no meu caso, o jdk1.7 que instalei era de 32 bits, portanto, estava usando o studio.exe (32 bits), portanto, mesmo quando baixei o novo jdk1.8 (64 bits), a instância do studio que estava usando (32 bits) não conseguiu t detectá-lo, mas quando desinstalei o jdk mais antigo e tentei executar novamente o studio.exe, disseram-me para instalar um jdk de 32 bits. então executei studio64.exe e funcionou sem problemas. certifique-se de ter o caminho correto em suas variáveis ​​de ambiente. saúde android N

Peterstev Uremgba
fonte
-1

Certifique-se de ter instalado o jdk para x64 e não x84 ao iniciar o Android Studio (x64)

insira a descrição da imagem aqui

user1564762
fonte