Partilhar via


Xamarin.Android e Java Development Kit 9 ou posterior

Este artigo explica como resolve erros do JDK (Java Development Kit) 9 ou posterior no Xamarin.Android.

Visão geral

O Xamarin.Android usa o JDK (Java Development Kit) para integrar-se ao SDK do Android para criar aplicativos Android e executar o designer do Android. As versões mais recentes do SDK do Android (API 24 e superior) exigem o JDK 8 (1.8) ou o Microsoft Mobile OpenJDK Preview. Como as ferramentas do SDK do Android disponíveis no Google ainda não são compatíveis com o JDK 9, o Xamarin.Android não funciona com o JDK 9 ou posterior.

Observação

Para direcionar a API 31 do Android, você precisa instalar o JDK 11. Saiba mais sobre os impactos do JDK 11 no Visual Studio aqui.

Erros do JDK

Se você tentar criar um projeto Xamarin.Android com uma versão do JDK posterior ao JDK 8, receberá um erro explícito indicando que não há suporte para essa versão do JDK. Por exemplo:

Building with JDK Version `9.0.4` is not supported. Please install JDK version `1.8.0`. See https://aka.ms/xamarin/jdk9-errors

Para resolve esses erros, você deve instalar o JDK 8 (1.8), conforme explicado em Como fazer atualizar a versão do JDK (Java Development Kit)?. Como alternativa, você pode instalar o Microsoft Mobile OpenJDK Preview O Microsoft Mobile OpenJDK eventualmente substituirá o JDK 8 para o desenvolvimento do Xamarin.Android.

Verificando a versão do JDK

Você pode marcar para ver qual versão do Java você instalou inserindo o seguinte comando (o diretório JDK bin deve estar em seu PATH):

java -version

Se o JDK 9 estiver instalado, você verá uma mensagem semelhante à seguinte:

java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

Se o JDK 9 ou posterior estiver instalado, você deverá instalar o Java JDK 8 (1.8) ou o Microsoft Mobile OpenJDK Preview. Para obter informações sobre como instalar o JDK 8, consulte Como fazer atualizar a versão do JDK (Java Development Kit)?. Para obter informações sobre como instalar o Microsoft Mobile OpenJDK, consulte Microsoft Mobile OpenJDK Preview.

Observe que você não precisa desinstalar uma versão posterior do JDK; no entanto, você deve garantir que o Xamarin esteja usando o JDK 8 em vez de uma versão posterior do JDK. No Visual Studio, clique em Ferramentas > Opções > Configurações do Xamarin > Android. Se o Local do Kit de Desenvolvimento Java não estiver definido como um local do JDK 8 (como C:\Arquivos de Programas\Java\jdk1.8.0_111), clique em Alterar e defina-o como o local em que o JDK 8 está instalado. Em Visual Studio para Mac, navegue até Preferências >> Locais do SDK do SDK > do Android > Java (JDK) e clique em Procurar para atualizar esse caminho.

Problemas conhecidos com o JDK 9

apksigner

Há um problema conhecido com apksigner e JDK 9 no qual o apksigner.bat arquivo invoca o apksigner.jar com -Djava.ext.dirs em vez do -classpath que o JDK 9 espera. É recomendável usar o JDK 8 (1.8). Para obter informações sobre como instalar o JDK 8, consulte Como fazer atualizar a versão do JDK (Java Development Kit) ?

Se você instalou o JDK 9, verifique se o caminho a seguir não está definido na PATH variável de ambiente, pois ele ainda apontará para o JDK 9: C:\ProgramData\Oracle\Java\javapath. Depois de removê-lo, java-version em uma linha de comando deve mostrar o JDK 8.