Exportieren für Android

Das Exportieren für Android stellt weniger Anforderungen als das Kompilieren von Godot. In den folgenden Schritten wird detailliert beschrieben, was zum Einrichten des SDK und der Engine erforderlich ist.

Android-SDK herunterladen

Download and install the Android SDK.

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;30.0.1" "platforms;android-29" "cmdline-tools;latest"

Install OpenJDK

Download and install OpenJDK.

Erstellen eines 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).

Wenn Sie diese nicht finden können oder eine solche generieren müssen, kann der Befehl keytool aus dem JDK dafür verwendet werden:

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

Dies wird eine debug.keystore Datei in deinem aktuellen Verzeichnis erzeugen. Sie sollten sie an einen einprägsamen Ort wie z.B. %USERPROFILE%\.android\ verschieben, da Sie ihren Speicherort in einem späteren Schritt benötigen werden. Weitere Informationen über die Verwendung von keytool finden Sie in diesem Q&A-Artikel.

Einrichtung in Godot

Rufe die Editoreinstellungen auf. Dieses Fenster enthält die Editor-Einstellungen für das Benutzerkonto im Computer (es ist unabhängig vom Projekt).

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

Scrolle nach unten zu dem Abschnitt, in dem sich die Android-Einstellungen befinden:

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

In that screen, 2 paths need to be set:

  • The 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.
  • Die Debug-Datei .keystore` - Sie finden sie in dem Ordner, in dem Sie die debug.keystore Datei abgelegt haben, die Sie oben erstellt haben.

Sobald das konfiguriert ist, ist alles bereit für den Export nach Android!

Bereitstellung von Startsymbolen

Launcher icons are used by Android launcher apps to represent your application to users. Godot only requires high-resolution icons (for xxxhdpi density screens) and will automatically generate lower-resolution variants.

Godot benötigt zwei Arten von Symbolen:

  • Main Icon: The "classic" icon. This will be used on all Android versions up to Android 8 (Oreo), exclusive. Must be at least 192×192 px.
  • Adaptive Icons: Starting from Android 8 (inclusive), Adaptive Icons were introduced. Applications will need to include separate background and foreground icons to have a native look. The user's launcher application will control the icon's animation and masking. Must be at least 432×432 px.

Siehe auch

It's important to adhere to some rules when designing adaptive icons. Google Design has provided a nice article that helps to understand those rules and some of the capabilities of adaptive icons.

Vorsicht

The most important adaptive icon design rule is to have your icon critical elements inside the safe zone: a centered circle with a diameter of 66dp (264 pixels on xxxhdpi) to avoid being clipped by the launcher.

If you don't provide some of the requested icons, Godot will replace them using a fallback chain, trying the next in line when the current one fails:

  • Hauptsymbol: Mitgeliefertes Hauptsymbol -> Projektsymbol -> Standard Godot-Hauptsymbol.
  • Adaptive Icon Foreground: Provided foreground icon -> Provided main icon -> Project icon -> Default Godot foreground icon.
  • Adaptiver Symbol-Hintergrund: Mitgeliefertes Hintergrundsymbol -> Standard-Godot-Hintergrundsymbol.

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

Export für den Google Play Store

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

keytool -v -genkey -v -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! Use Google's Android Developer guides to learn more about APK signing.

Füllen Sie nun die folgenden Formulare in Ihren Android-Exportvoreinstellungen aus:

../../../_images/editor-export-presets-android.png
  • Release: Geben Sie den Pfad zu der gerade generierten Keystore-Datei ein.
  • Release User: Durch den Schlüssel-Alias ersetzen.
  • 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.

Vergessen Sie nicht, das Kontrollkästchen Mit Debug exportieren zu deaktivieren, während Sie den Namen der APK auswählen.

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

Optimieren der APK-Größe

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.

Sie können die Größe weiter optimieren, indem Sie eine Android-Exportvorlage mit nur den Funktionen erstellen, die Sie benötigen. Weitere Informationen finden Sie unter Einen Build für die Größe optimieren.