Exportando para Android

Exporting for Android has fewer requirements than compiling Godot for Android. The following steps detail what is needed to set up the Android SDK and the engine.

Baixe o Android SDK

Baixe e instale o Android SDK.

  • Você pode instalá-lo utilizando o Android Studio versão 4.1 ou superior.

    • Run it once to complete the SDK setup using these instructions.

    • Ensure that the required packages are installed as well.

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

      • Android SDK Build-Tools version 30.0.3

      • Android SDK Platform 29

      • Android SDK Command-line Tools (latest)

      • CMake version 3.10.2.4988404

      • NDK version 21.4.7075529

  • Você pode instalá-lo utilizando as ferramentas de linha de comando.

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

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;30.0.3" "platforms;android-29" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529"

Nota

If you are using Linux, do not use an Android SDK provided by your distribution's repositories as it will often be outdated.

Instale o OpenJDK 8

Baixe e instale o OpenJDK 8, versões mais recentes não vão funcionar.

Crie um debug.keystore

Android needs a debug keystore file to install to devices and distribute non-release APKs. If you have used the SDK before and have built projects, ant or eclipse probably generated one for you (in the ~/.android directory on Linux and macOS, in the C:\Users\<user>\.android\ directory on Windows).

Se você não conseguir encontrá-lo ou precisar gerar um, o comando da ferramenta-chave do JDK pode ser usado para este propósito:

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12

Isto irá criar um arquivo debug.keystore no seu diretório atual. Você deve movê-lo para um local memorável como o %USERPROFILE%\.android\, porque você precisará da sua localização em um passo posterior. Para mais informações sobre a utilização do keytool, veja este artigo de perguntas e respostas.

Configurando no Godot

Entre na tela Configurações do Editor. Esta tela contém as configurações do editor para a conta do usuário no computador (é independente do projeto).

../../../_images/editorsettings.png

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

../../../_images/androidsdk.png

In that screen, 2 paths need to be set:

  • O Android Sdk Path deve ser o local onde o Android SDK foi instalado. - Por exemplo %LOCALAPPDATA%\Android\Sdk\ no Windows ou /Users/$USER/Library/Android/sdk/ no macOS.

  • O arquivo debug .keystore` - Pode ser encontrado na pasta onde você coloca o arquivo debug.keystore` que você criou acima.

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

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.

Há dois tipos de ícones requisitados pelo Godot:

  • Í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 <https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive>'_ 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.

Ver também

É importante seguir algumas regras ao criar ícones adaptáveis. O Google Design forneceu um bom artigo <https://medium.com/google-design/designing-adaptive-icons-515af294c783> _ 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 alguns dos ícones solicitados, o Godot os substituirá usando uma cadeia de fallback, tentando a próxima na linha quando a 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.

It's highly recommended to provide all the requested icons with their specified resolutions. This way, your application will look great on all Android devices and versions.

Exportando para a Google Play Store

Enviar um APK para a Play Store do Google requer que você o assine usando um arquivo keystore não-depuração; tal arquivo pode ser gerado assim:

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

Este keystore e chave são usados para verificar sua identidade de desenvolvedor, lembre-se da senha e mantenha-a em um lugar seguro! Use os guias de Desenvolvedor Android do Google para aprender mais sobre Assinar o app.

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

../../../_images/editor-export-presets-android.png
  • Release: Enter the path to the keystore file you just generated.

  • Release User: Replace with the key alias.

  • Release Password: Key password. Note that the keystore password and the key password currently have to be the same.

Your export_presets.cfg file now contains sensitive information. If you use a version control system, you should remove it from public repositories and add it to your .gitignore file or equivalent.

Don't forget to uncheck the Export With Debug checkbox while exporting.

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

Optimizing the APK size

By default, the APK will contain native libraries for both ARMv7 and ARMv8 architectures. This increases its size significantly. To create a smaller APK, 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.

Since August 2019, Google Play requires all applications to be available in 64-bit form. This means you cannot upload an APK that contains just an ARMv7 library. To solve this, you can upload several APKs to Google Play using its Multiple APK support. Each APK should target a single architecture; creating an APK for ARMv7 and ARMv8 is usually sufficient to cover most devices in use today.

You can optimize the size further by compiling an Android export template with only the features you need. See Optimizing a build for size for more information.