Exportiere für Android

Siehe auch

This page describes how to export a Godot project to Android. If you're looking to compile export template binaries from source instead, read 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.

Install OpenJDK 11

Download and install OpenJDK 11.

Android-SDK herunterladen

Laden Sie das Android SDK herunter und installieren Sie es.

  • Sie können es 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

      • Mit Android SDK Build-Tools Version 30.0.3

      • Android SDK Platform 31

      • Android SDK-Befehlszeilentools (aktuell)

      • CMake Version 3.10.2.4988404

      • NDK version r23c (23.2.8568313)

  • Sie können es mit den `Kommandozeilenwerkzeug <https://developer.android.com/studio/#command-tools> `__ installieren.

    • Führen Sie nach der Installation des Kommandozeilenwerkzeugs 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;30.0.3" "platforms;android-31" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529"

Bemerkung

Wenn Sie Linux verwenden, verwenden Sie kein Android-SDK, das in den Repositories 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 verteilen. 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

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

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 Startsymbolen

Startsymbole 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 Symbolen:

  • Hauptsymbol: 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 Symbole <https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive> _ eingeführt. Anwendungen müssen separate Hintergrund- und Vordergrundsymbole enthalten, um ein natives Aussehen zu erhalten. Die Launcher-Anwendung des Benutzers steuert die Animation und Maskierung des Symbols. Es muss mindestens 432 × 432 px groß sein.

Siehe auch

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

Vorsicht

Die wichtigste Regel für das adaptive Symboldesign besteht darin, dass sich Ihre Symbol-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 Symbole nicht bereitstellen, ersetzt Godot sie durch eine Reihe von Alternativen und versucht das nächste Symbol in der Reihe, wenn das Aktuelle fehlschlägt:

  • Hauptsymbol: Mitgeliefertes Hauptsymbol -> Projektsymbol -> Standard Godot-Hauptsymbol.

  • Adaptiver Symbol-Vordergrund: Mitgeliefertes Vordergrundsymbol -> Mitgeliefertes Hauptsymbol -> Projektsymbol -> Standard-Godot-Vordergrundsymbol.

  • Adaptiver Symbol-Hintergrund: Mitgeliefertes Hintergrundsymbol -> Standard-Godot-Hintergrundsymbol.

Es wird dringend empfohlen, alle angeforderten Symbole 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 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: Schlüssel-Passwort. Beachten Sie, dass das Keystore-Passwort und das Schlüsselpasswort derzeit identisch sein müssen.

Ihre Datei export_presets.cfg enthält jetzt sensible Informationen. Wenn Sie ein Versionskontrollsystem verwenden, sollten Sie es aus öffentlichen Repositories entfernen und in Ihre .gitignore Datei oder ein Äquivalent einfügen.

Vergessen Sie nicht, beim Exportieren das Kontrollkästchen 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 in der Android-Exportvoreinstellung 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 Multiple 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 für die Größe optimieren.

Troubleshooting rendering issues

To improve out-of-the-box performance on mobile devices, Godot automatically uses low-end-friendly settings by default on both Android and iOS.

This can cause rendering issues that do not occur when running the project on a desktop platform. See Mobile rendering limitations for more information.