Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Exportando para Android

Ver também

Esta página descreve como exportar um projeto Godot para o Android. Se você deseja compilar binários de modelo de exportação da fonte, leia Compilando para Android.

Exportar para Android possui menos requisitos do que compilar o Godot para Android. Os passos seguintes detalham o que é necessário para configurar o Android SDK e o motor.

Atenção

Projetos escritos em C# podem ser exportados para o Android a partir do Godot 4.2, mas o suporte é experimental e algumas limitações se aplicam.

Setup on Android

When exporting to Android from the Android editor, you do not need to install OpenJDK or the Android SDK when exporting to Android, regardless of the export method used (pre-built APK or Gradle build).

However, if you are performing a Gradle build, you will need to follow some steps described in Compilações Gradle para Android.

You can then skip to Fornecendo ícones de launcher.

Setup on Windows, macOS, and Linux

Instale o OpenJDK 17

Baixe e instale o OpenJDK 17.

Nota

Versões superiores do JDK também são suportadas, mas recomendamos o uso do JDK 17 para compatibilidade e estabilidade ideais.

Baixe o Android SDK

Baixe e instale o Android SDK.

  • Você pode instalar o Android SDK usando o Android Studio Iguana (versão 2023.2.1) ou posterior.

    • Execute-o uma vez para concluir a configuração do SDK usando estas instruções.

    • Certifique-se de que os pacotes obrigatórios também estejam instalados.

      • Android SDK Platform-Tools versão 35.0.0 ou posterior

      • Android SDK Build-Tools versão 35.0.1

      • Android SDK Platform 35

      • Android SDK Command-line Tools (o mais recente)

    • Certifique-se de que o NDK e o CMake estejam instalados e configurados.

      • CMake versão 3.10.2.4988404

      • NDK versão r28b (28.1.13356709)

  • Alternatively, you can install the Android SDK with the sdkmanager command line tool.

    • Instale o pacote de ferramentas de linha de comando seguindo estas instruções.

    • Once the command line tools are installed, run the following sdkmanager command to complete the setup process:

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;35.0.1" "platforms;android-35" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;28.1.13356709"

Nota

Se você estiver usando Linux, não use um SDK do Android fornecido pelos repositórios de sua distribuição, pois geralmente estará desatualizado.

Configurando no Godot

Abra a tela de Configurações do Editor (na aba Godot no macOS ou na aba Editor em outras plataformas). Esta tela contém as configurações do editor para a conta de usuário do computador (é independente do projeto).

../../_images/editorsettings.webp

Role para baixo até a seção onde as configurações do Android estão localizadas:

../../_images/android_editor_settings.webp

Nessa tela, o caminho para 2 arquivos precisa ser definido:

  • Java SDK Path deve ser o local onde o OpenJDK 17 foi instalado.

  • Android SDK Path deve apontar para o local onde o Android SDK foi instalado. Este diretório deve conter platform-tools/adb. Por exemplo, %LOCALAPPDATA%\Android\Sdk\ no Windows ou /Users/$USER/Library/Android/sdk/ no macOS.

Uma vez configurado, tudo está pronto para exportar para o Android!

Nota

Se você receber um erro falando "Could not install to device.", tenha certeza de que você não possui um aplicativo com o mesmo nome de pacote instalado em seu dispositivo (mas assinado com uma key diferente).

Se você já tiver instalado no dispositivo um aplicativo com o mesmo nome de pacote Android, mas com uma chave de assinatura diferente, você deve remover o aplicativo em questão do dispositivo Android antes de exportar para o Android novamente.

Fornecendo ícones de launcher

Os ícones de launcher são usados por aplicativos de launcher do Android para representar o seu aplicativo aos usuários. O Godot só requer ícones de alta resolução (para telas de densidade xxxhdpi), e irá gerar automaticamente variantes para resoluções menores.

Existem três tipos de ícones:

  • Ícone principal:: O ícone "clássico". Será utilizado em todas as versões do Android até o Android 8 (Oreo), exclusivo. Deve ter pelo menos 192×192 px.

  • Ícones Adaptativos: A partir do Android 8 (inclusive), os Adaptive Icons foram introduzidos. Os aplicativos precisam incluir ícones separados de fundo e primeiro plano para terem uma aparência nativa. O aplicativo launcher do usuário controlará a animação e a máscara do ícone. Deve ter pelo menos 432×432 px.

  • Ícones Temáticos (opcional): A partir do Android 13 (inclusive), os Ícones Temáticos foram introduzidos. Os aplicativos precisam incluir um ícone monocromático para habilitar este recurso. O aplicativo launcher do usuário controlará o tema do ícone. Deve ter pelo menos 432×432 px.

Ver também

É importante seguir algumas regras ao criar ícones adaptáveis. O Google Design forneceu um bom artigo que ajuda a entender essas regras e alguns dos recursos dos ícones adaptáveis.

Cuidado

A regra de design de ícone adaptativo mais importante é ter partes importantes do seu ícone dentro da área segura: um círculo centralizado com um diâmetro de 66dp (264 pixels em xxxhdpi) para evitar ser cortado pelo launcher.

Se você não fornecer os ícones solicitados (exceto o Monocromático), o Godot os substituirá usando uma cadeia de fallback, tentando o próximo da lista quando o atual falhar:

  • Ícone principal: Ícone principal fornecido -> Ícone do projeto -> Ícone principal do Godot padrão.

  • Ícone Adaptativo (frente): Ícone de frente fornecido -> Ícone principal fornecido -> Ícone do projeto -> Ícone principal do Godot padrão.

  • Ícone Adaptativo (verso): Ícone de verso fornecido -> Ícone principal do Godot padrão.

É altamente recomendável fornecer todos os ícones solicitados com suas resoluções especificadas. Desta forma, seu aplicativo ficará ótimo em todos os dispositivos e versões do Android.

Exportando para a Google Play Store

All new apps uploaded to Google Play after August 2021 must be an AAB (Android App Bundle) file. To export an AAB file you need to set up Compilações Gradle para Android.

Enviar um AAB ou APK para a Play Store do Google exige que você assine usando um arquivo keystore não destinado a depuração. Esse arquivo pode ser gerado da seguinte forma:

keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

Este keystore e esta chave são usados para verificar sua identidade como desenvolvedor. Lembre-se da senha e mantenha-a em um local seguro! Recomenda-se usar apenas letras maiúsculas, minúsculas e números. Caracteres especiais podem causar erros. Consulte os guias do Android Developer da Google para aprender mais sobre assinatura de aplicativos.

Agora preencha-o nos seguintes campos nas suas Predefinições de Exportação Android:

../../_images/editor-export-presets-android.webp
  • Release: Insira o caminho para o arquivo keystore que você acabou de gerar.

  • Release User: Substitua pelo alias da chave.

  • Release Password: Senha da chave. Observe que a senha do keystore e a senha da chave atualmente precisam ser as mesmas.

Não se esqueça de desmarcar a caixa de marcação Exportar Com Debug quando for exportar.

../../_images/export-with-debug-button.webp

Otimizando o tamanho do arquivo

You can optimize the size of your application by compiling an Android export template with only the features you need. See Otimizando uma compilação para o tamanho for more information.

Performing a custom Gradle build

If you need to modify the template's Java code or integrate with third-party Android SDKs, you may want to use a custom Gradle build instead of the default pre-built APK template. This allows you to have more control over the build process and the generated project, and you can use it as a base for further customization.

See Compilações Gradle para Android for guidance on setting up a custom Gradle build.

Variáveis de ambiente

Você pode usar as seguintes variáveis de ambiente para definir opções de exportação fora do editor. Durante o processo de exportação, elas substituem os valores que você definiu no menu de exportação.

Variáveis de ambiente para exportação Android

Opção de exportação

Variável de ambiente

Encryption / Encryption Key (Criptografia / Chave de Criptografia)

GODOT_SCRIPT_ENCRYPTION_KEY

Options / Keystore / Debug

GODOT_ANDROID_KEYSTORE_DEBUG_PATH

Options / Keystore / Debug User (Usuário Debug)

GODOT_ANDROID_KEYSTORE_DEBUG_USER

Options / Keystore / Debug Password (Senha Debug)

GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD

Options / Keystore / Release

GODOT_ANDROID_KEYSTORE_RELEASE_PATH

Options / Keystore / Release User (Usuário Release)

GODOT_ANDROID_KEYSTORE_RELEASE_USER

Options / Keystore / Release Password (Senha Release)

GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD

Opções de exportação

Você pode encontrar uma lista completa das opções de exportação disponíveis na referência da classe EditorExportPlatformAndroid.