Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Exportieren für Android

Siehe auch

Diese Seite beschreibt, wie man ein Godot-Projekt nach Android exportiert. Wenn Sie stattdessen Exportvorlagen-Binärdateien aus dem Quellcode kompilieren möchten, lesen Sie Kompilieren 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.

Achtung

In C# geschriebene Projekte können ab Godot 4.2 nach Android exportiert werden, aber die Unterstützung ist experimentell und Es gelten einige Einschränkungen.

OpenJDK 17 installieren

Laden Sie OpenJDK 17 herunter und installieren Sie es.

Android-SDK herunterladen

Laden Sie das Android SDK herunter und installieren Sie es.

  • Sie können das Android SDK mit Android Studio Version 4.1 oder höher installieren.

    • Führen Sie es einmal aus, um das SDK-Setup mithilfe dieser Anweisungen <https://developer.android.com/studio/intro/update#sdk-manager> __ abzuschließen.

    • Stellen Sie sicher, dass auch die erforderlichen Pakete installiert sind.

      • Android SDK Platform-Tools Version 30.0.5 oder höher

      • Android SDK Build-Tools Version 33.0.2

      • Android SDK Plattform 33

      • Android SDK-Kommandozeilentools (aktuell)

      • CMake-Version 3.10.2.4988404

      • NDK-Version r23c (23.2.8568313)

  • Alternatively, you can install the Android SDK using the command line tools.

    • Führen Sie nach der Installation des Kommandozeilen-Tools den Befehl sdkmanager <https://developer.android.com/studio/command-line/sdkmanager> __ aus, um den Installationsvorgang abzuschließen:

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;33.0.2" "platforms;android-33" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"

Bemerkung

Wenn Sie Linux verwenden, verwenden Sie kein Android-SDK, das in den Repositorys Ihrer Distribution bereitgestellt wird, da es oft veraltet ist.

Erstellen eines Debug-Keystore

Android benötigt eine Debug-Keystore-Datei, um sie auf Geräten zu installieren und nicht freigegebene APKs zu veröffentlichen. Wenn Sie das SDK bereits verwendet und Projekte erstellt haben, hat Ant oder Eclipse wahrscheinlich eines für Sie generiert (im Verzeichnis ~/.android unter Linux und MacOS, im C:\Benutzer\<Benutzer>\.android \ Verzeichnis unter 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

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

Bemerkung

Es ist wichtig, dass das Passwort für den Keystore und den Schlüssel gleich ist. Dies ist ein bekanntes Android-Studio-Problem, das auch Godot-Projekte betrifft.

Einrichtung in Godot

Rufen Sie den Bildschirm Editoreinstellungen auf. Dieser Bildschirm enthält die Editoreinstellungen für das Benutzerkonto auf dem Computer (unabhängig vom Projekt).

../../_images/editorsettings.png

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

../../_images/androidsdk.png

In diesem Bildschirm müssen 2 Pfade festgelegt werden:

  • Der Android Sdk Path sollte der Ort sein, an dem das Android SDK installiert wurde. - Zum Beispiel %LOCALAPPDATA%\Android\Sdk\ unter Windows oder /Users/$USER/Library/Android/sdk/ unter 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 dies konfiguriert ist, kann alles auf Android exportiert werden!

Bemerkung

Wird die Fehlermeldung "Could not install to device" angezeigt, sollte sichergestellt werden, dass nicht bereits eine andere Applikation mit dem selben Android Package-Namen auf dem Gerät installiert, aber mit einem anderen Schlüssel signiert ist.

Ist auf dem Gerät bereits eine Applikation mit demselben Android-Paketnamen, aber einem anderen Signierschlüssel installiert, muss die betroffene Applikation vom Android Gerät entfernt werden, bevor wieder zu Android exportiert werden kann.

Bereitstellung von Launcher-Icons

Launcher-Icons werden von Android Launcher-Apps verwendet, um Ihre Anwendung den Benutzern zu präsentieren. Godot benötigt nur hochauflösende Icons (für Bildschirme mit xxxhdpi-Dichte) und generiert automatisch Varianten mit niedrigerer Auflösung.

Godot benötigt zwei Arten von Icons:

  • Haupt-Icon: Das "klassische" Symbol. Dies wird exklusiv für alle Android-Versionen bis Android 8 (Oreo) verwendet. Es muss mindestens 192×192 px groß sein.

  • ** Adaptive Icons: ** Ab (einschließlich) Android 8 wurden Adaptive Icons <https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive> _ eingeführt. Anwendungen müssen separate Hintergrund- und Vordergrund-Icons enthalten, um ein natives Aussehen zu erhalten. Die Launcher-Anwendung des Benutzers steuert die Animation und Maskierung des Icons. Es muss mindestens 432×432 px groß sein.

Siehe auch

Es ist wichtig, beim Entwerfen adaptiver Icons einige Regeln einzuhalten. Google Design hat einen schönen Artikel bereitgestellt, der hilft, diese Regeln und einige der Funktionen adaptiver Icons zu verstehen.

Vorsicht

Die wichtigste Regel für das Design adaptiver Icons besteht darin, dass sich Ihre Icon-kritischen Elemente in der sicheren Zone befinden: ein zentrierter Kreis mit einem Durchmesser von 66 dp (264 Pixel auf xxxhdpi), um zu vermeiden, dass er vom Launcher abgeschnitten wird.

Wenn Sie einige der angeforderten Icons nicht bereitstellen, ersetzt Godot sie durch eine Reihe von Alternativen und versucht das nächste Icon in der Reihe, wenn das Aktuelle fehlschlägt:

  • Haupt-Icon: Mitgeliefertes Haupt-Icon -> Projekt-Icon -> Default-Godot-Haupt-Icon.

  • Adaptiver Icon-Vordergrund: Mitgeliefertes Vordergrund-Icon -> Mitgeliefertes Haupt-Icon -> Projekt-Icon -> Default-Godot-Vordergrund-Icon.

  • Adaptiver Icon-Hintergrund: Mitgeliefertes Hintergrund-Icon -> Default-Godot-Hintergrund-Icon.

Es wird dringend empfohlen, alle angeforderten Icons mit ihren angegebenen Auflösungen bereitzustellen. Auf diese Weise wird Ihre Anwendung auf allen Android-Geräten und -Versionen gut aussehen.

Export für den Google Play Store

Das Hochladen eines APKs in Googles Play Store erfordert eine Signierung mit einer Nicht-Debug-Keystore-Datei; eine solche Datei kann wie folgt generiert werden:

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

Dieser Keystore und Schlüssel werden verwendet, um Ihre Entwickleridentität zu überprüfen, sich an das Passwort zu erinnern und es an einem sicheren Ort aufzubewahren! Verwenden Sie die Google-Anleitungen für Android-Entwickler, um mehr über die APK-Signierung zu erfahren.

Füllen Sie nun die folgenden Formulare in Ihrem Android-Export-Profil aus:

../../_images/editor-export-presets-android.png
  • Release: Geben Sie den Pfad zu der gerade generierten Keystore-Datei ein.

  • Release User: Ersetzen durch den Schlüssel-Alias.

  • Release Password: Schlüssel-Passwort. Beachten Sie, dass das Keystore-Passwort und das Schlüsselpasswort derzeit identisch sein müssen.

Vergessen Sie nicht, beim Exportieren die Checkbox Exportieren mit Debug zu deaktivieren.

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

Optimieren der APK-Größe

Standardmäßig enthält das APK native Bibliotheken sowohl für ARMv7- als auch für ARMv8-Architekturen. Dadurch erhöht sich seine Größe erheblich. Um ein kleineres APK zu erstellen, deaktivieren Sie entweder Armeabi-v 7a oder Arm 64 -v 8a im Android-Export-Profil Ihres Projekts. Dadurch wird ein APK erstellt, das nur eine Bibliothek für eine einzelne Architektur enthält. Beachten Sie, dass Anwendungen, die auf ARMv7 abzielen, auch auf ARMv8-Geräten laufen können, aber nicht umgekehrt.

Seit August 2019 verlangt Google Play, dass alle Anwendungen in 64-Bit-Form verfügbar sind. Das bedeutet, dass Sie kein APK hochladen können, das nur eine ARMv7-Bibliothek enthält. Um dieses Problem zu lösen, können Sie mehrere APKs in Google Play hochladen, indem Sie die Mehrfach-APK-Unterstützung verwenden. Jedes APK sollte auf eine einzelne Architektur abzielen; die Erstellung eines APKs für ARMv7 und ARMv8 reicht in der Regel aus, um die meisten heute verwendeten Geräte abzudecken.

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 auf Größe optimieren.

Umgebungsvariablen

Sie können die folgenden Umgebungsvariablen verwenden, um Exportoptionen außerhalb des Editors festzulegen. Während des Exportvorgangs überschreiben diese die Werte, die Sie im Exportmenü festgelegt haben.

Android-Export-Umgebungsvariablen

Export-Option

Umgebungsvariable

Verschlüsselung / Verschlüsselungsschlüssel

GODOT_SCRIPT_ENCRYPTION_KEY

Optionen / Keystore/ Debug

GODOT_ANDROID_KEYSTORE_DEBUG_PATH

Optionen / Keystore / Debug Benutzer

GODOT_ANDROID_KEYSTORE_DEBUG_USER

Optionen / Keystore / Debug Passwort

GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD

Optionen / Keystore / Release

GODOT_ANDROID_KEYSTORE_RELEASE_PATH

Optionen / Keystore / Release Benutzer

GODOT_ANDROID_KEYSTORE_RELEASE_USER

Optionen / Keystore / Release Passwort

GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD