Exportieren für 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.

Android-SDK herunterladen

Laden Sie das Android SDK herunter und installieren Sie es.

  • You can install it using Android Studio version 4.1 or later.

    • 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 or later

      • Android SDK Build-Tools version 30.0.1

      • Android SDK Platform 29

      • Android SDK Command-line Tools (latest)

      • CMake version 3.10.2.4988404

      • NDK version 21.4.7075529

  • 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.1" "platforms;android-29" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529"

Bemerkung

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

Install OpenJDK 8

Download and install OpenJDK 8.

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!

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.

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.

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 -v -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, 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

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.