Exportando para Android

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

Download the Android SDK

Baixe e instale o Android SDK a partir de developer.android.com.

If you install Android Studio, you need to run it once to complete the SDK setup.

Install OpenJDK 8

Download and install OpenJDK 8, newer versions do not work.

Create a debug.keystore

O Android precisa de um arquivo de debug keystore para instalar em dispositivos e distribuir APKs sem lançamento. Se você já usou o SDK antes e construiu projetos, ant ou eclipse provavelmente gerou um para você (no Linux e macOS, você pode encontrá-lo no diretório ~/.android`).

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.

Make sure you have adb

Android Debug Bridge (adb) é a ferramenta de linha de comando utilizada para comunicar com dispositivos Android. Ele é instalado com o SDK, mas você pode precisar instalar um (qualquer) dos níveis da API do Android para que ele seja instalado no diretório do SDK.

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, the path to 3 files needs to be set:

  • O executável adb (adb.exe no Windows) - Normalmente pode ser encontrado em %LOCALAPPDATA%\Android\Sdk\platform-tools\adb.exe.
  • O executável jarsigner (do JDK 6 ou 8) - No Windows, o OpenJDK o instala em um diretório como %PROGRAMFILES%ojdkbuild\java-1.8.0-openjdk-1.8.0.232-2\bin. No Linux, ele tipicamente instala em um diretório como /usr/bin/jarsigner. O caminho exato pode variar dependendo da atualização do OpenJDK que você tenha instalado e do sistema operacional da sua máquina.
  • 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.

É altamente recomendado fornecer todos os ícones requeridos, e ao menos com as resoluções especificadas. Só assim seu aplicativo vai parecer ótimo em todos os dispositivos Android e suas versões.

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 -v -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 choosing the APK's name.

../../../_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.