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

Projects written in C# can be exported to Android as of Godot 4.2, but support is experimental and some limitations apply.

Install OpenJDK 17

Download and install OpenJDK 17.

Baixe o Android SDK

Baixe e instale o Android SDK.

  • You can install the Android SDK using Android Studio Iguana (version 2023.2.1) or later.

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

    • Ensure that the required packages are installed as well.

      • Android SDK Platform-Tools version 34.0.0 or later

      • Android SDK Build-Tools version 34.0.0

      • Android SDK Platform 34

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

    • Ensure that the NDK and CMake are installed and configured.

      • CMake versão 3.10.2.4988404

      • NDK versão r23c (23.2.8568313)

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

    • Install the command line tools package using these instructions.

    • 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;34.0.0" "platforms;android-34" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"

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

Enter the Editor Settings screen (under the Godot tab for macOS, or the Editor tab for other platforms). This screen contains the editor settings for the user account in the computer (it's independent of the project).

../../_images/editorsettings.png

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 should be the location where OpenJDK 17 was installed.

  • Android Sdk Path should be the location where the Android SDK was installed. - For example %LOCALAPPDATA%\Android\Sdk\ on Windows or /Users/$USER/Library/Android/sdk/ on 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ê tiver um aplicativo com o mesmo nome de pacote Android, mas uma chave de assinatura diferente já instalada no dispositivo, você ** deve ** removê-lo do dispositivo Android antes de exportar para o mesmo 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.

There are three types of icons:

  • Í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 Adaptáveis: A partir do Android 8 (inclusivo), Ícones Adaptáveis foram introduzidos. Aplicativos vão precisar incluir separadamente ícones de fundo e de frente para terem um visual nativo. O aplicativo de launcher do usuário vai controlar a animação e máscara do ícone. Deve ter no minimo 432x432 px.

  • Themed Icons (optional): Starting from Android 13 (inclusive), Themed Icons were introduced. Applications will need to include a monochrome icon to enable this feature. The user's launcher application will control the icon's theme. Must be at least 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.

If you don't provide the requested icons (except for Monochrome), Godot will replace them using a fallback chain, trying the next in line when the current one fails:

  • Í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.

Uploading an AAB or APK to Google's Play Store requires you to sign using a non-debug keystore file; such a file can be generated like this:

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

This keystore and key are used to verify your developer identity, remember the password and keep it in a safe place! It is suggested to use only upper and lowercase letters and numbers. Special characters may cause errors. Use Google's Android Developer guides to learn more about app signing.

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

../../_images/editor-export-presets-android.png
  • 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.png

Optimizing the file size

If you're working with APKs and not AABs, by default, the APK will contain native libraries for both ARMv7 and ARMv8 architectures. This increases its size significantly. To create a smaller file, uncheck either Armeabi-v 7a or Arm 64 -v 8a in your project's Android export preset. This will create an APK that only contains a library for a single architecture. Note that applications targeting ARMv7 can also run on ARMv8 devices, but the opposite is not true. The reason you don't do this to save space with AABs is that Google automatically splits up the AAB on their backend, so the user only downloads what they need.

Você pode otimizar o tamanho ainda mais compilando um modelo de exportação Android com apenas as funcionalidades que você precisa. Veja Otimizando uma compilação para o tamanho para mais informações.

Variáveis de ambiente

You can use the following environment variables to set export options outside of the editor. During the export process, these override the values that you set in the export menu.

Android export environment variables

Export option

Environment variable

Encryption / Encryption Key

GODOT_SCRIPT_ENCRYPTION_KEY

Options / Keystore / Debug

GODOT_ANDROID_KEYSTORE_DEBUG_PATH

Options / Keystore / Debug User

GODOT_ANDROID_KEYSTORE_DEBUG_USER

Options / Keystore / Debug Password

GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD

Options / Keystore / Release

GODOT_ANDROID_KEYSTORE_RELEASE_PATH

Options / Keystore / Release User

GODOT_ANDROID_KEYSTORE_RELEASE_USER

Options / Keystore / Release Password

GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD