App für die Veröffentlichung vorbereiten

Um Ihre App für die Veröffentlichung vorzubereiten, müssen Sie eine Release-Version Ihrer App konfigurieren, erstellen und testen. Die Konfigurationsaufgaben umfassen grundlegende Aufgaben zur Codebereinigung und -änderung zur Optimierung Ihrer App. Der Build-Prozess ähnelt dem Build-Prozess zur Fehlerbehebung und kann mit JDK und Android SDK-Tools ausgeführt werden.

Testaufgaben dienen als abschließende Prüfung und tragen dazu bei, dass Ihre Anwendung unter realen Bedingungen wie erwartet funktioniert. Firebase bietet über Firebase Test Lab eine große Anzahl physischer und virtueller Testgeräte, mit denen Sie die Qualität Ihrer App verbessern können.

Wenn Sie mit der Vorbereitung Ihrer App für die Veröffentlichung fertig sind, haben Sie eine signierte APK-Datei, die Sie direkt an Nutzer oder über einen App-Marktplatz wie Google Play vertreiben können.

In diesem Dokument werden die wichtigsten Aufgaben zusammengefasst, die Sie ausführen müssen, um Ihre Anwendung für den Release vorzubereiten. Die auf dieser Seite beschriebenen Aufgaben gelten für alle Android-Apps, unabhängig davon, wie sie veröffentlicht oder an Nutzer verteilt werden. Wenn du deine App über Google Play veröffentlichst, lies den Artikel Mit Zuversicht veröffentlichen.

Hinweis:Als Best Practice sollten Sie dafür sorgen, dass Ihre App alle Release-Kriterien in Bezug auf Funktionalität, Leistung und Stabilität erfüllt, bevor Sie die auf dieser Seite beschriebenen Aufgaben ausführen.

Zeigt, wie der Vorbereitungsprozess in den Entwicklungsprozess passt

Abbildung 1: Die Vorbereitung auf den Release ist eine erforderliche Entwicklungsaufgabe und der erste Schritt im Veröffentlichungsprozess.

Aufgaben zur Vorbereitung auf den Release

Wenn Sie Ihre App für Nutzer veröffentlichen möchten, müssen Sie ein Release-fähiges Paket erstellen, das Nutzer auf ihren Android-Geräten installieren und ausführen können. Das Release-fähige Paket enthält die gleichen Komponenten wie die APK-Datei zur Fehlerbehebung, also z. B. den kompilierten Quellcode, die Ressourcen und die Manifestdatei. Es wird mit denselben Build-Tools erstellt. Im Gegensatz zur Debug-APK-Datei ist die Release-fähige APK-Datei jedoch mit Ihrem eigenen Zertifikat signiert und mit dem zipalign-Tool optimiert.

Zeigt die fünf Aufgaben an, die du zur Vorbereitung deiner App für die Veröffentlichung ausführst

Abbildung 2: Die Vorbereitung Ihrer App für die Veröffentlichung umfasst fünf Hauptaufgaben.

Wenn du deine App mit Android Studio entwickelst, sind die Signatur- und Optimierungsaufgaben in der Regel reibungslos. Du kannst beispielsweise Android Studio mit den Gradle-Build-Dateien verwenden, um deine App gleichzeitig zu kompilieren, zu signieren und zu optimieren. Sie können auch die Gradle-Build-Dateien so konfigurieren, dass sie dies tun, wenn Sie Builds über die Befehlszeile erstellen. Weitere Informationen zur Verwendung der Gradle-Build-Dateien findest du unter Build konfigurieren.

Um Ihre App für die Veröffentlichung vorzubereiten, führen Sie in der Regel fünf Hauptaufgaben aus, wie in Abbildung 2 dargestellt. Jede Hauptaufgabe kann eine oder mehrere kleinere Aufgaben enthalten, je nachdem, wie Sie Ihre App veröffentlichen. Wenn Sie Ihre App beispielsweise über Google Play veröffentlichen, können Sie Ihrem Manifest spezielle Filterregeln hinzufügen, während Sie Ihre App für die Veröffentlichung konfigurieren. Um die Veröffentlichungsrichtlinien von Google Play zu erfüllen, musst du möglicherweise Screenshots und Werbetexte erstellen, während du Materialien für die Veröffentlichung zusammenstellst.

Normalerweise führen Sie die in Abbildung 2 aufgeführten Aufgaben aus, nachdem Sie Ihre App gründlich geprüft und getestet haben. Das Android SDK enthält mehrere Tools, mit denen Sie Ihre Android-Apps testen und debuggen können. Weitere Informationen finden Sie unter App-Fehler beheben und App testen.

Materialien und Ressourcen zusammenstellen

Um Ihre App für die Veröffentlichung vorzubereiten, müssen Sie verschiedene unterstützende Elemente zusammenstellen. Dazu gehören mindestens kryptografische Schlüssel zum Signieren Ihrer App sowie ein App-Symbol. Möglicherweise möchten Sie auch eine Endnutzer-Lizenzvereinbarung hinzufügen.

Kryptografische Schlüssel

Android setzt voraus, dass alle APKs digital mit einem Zertifikat signiert sind, bevor sie auf einem Gerät installiert oder aktualisiert werden. Für den Google Play Store muss für alle Apps, die nach August 2021 erstellt wurden, Play App-Signatur verwendet werden. Zum Hochladen Ihres AAB in die Play Console müssen Sie es aber weiterhin mit Ihrem Entwicklerzertifikat signieren. Ältere Apps können sich immer noch selbst signieren, aber unabhängig davon, ob Sie die Play App-Signatur verwenden oder sich selbst signieren, müssen Sie Ihre App signieren, bevor Sie sie hochladen können.

Weitere Informationen zu Zertifikatsanforderungen finden Sie unter App signieren.

Wichtig:Ihre App muss mit einem kryptografischen Schlüssel signiert sein, dessen Gültigkeitszeitraum nach dem 22. Oktober 2033 endet.

Möglicherweise müssen Sie auch andere Releaseschlüssel anfordern, wenn Ihre Anwendung auf einen Dienst zugreift oder eine Bibliothek eines Drittanbieters verwendet, für die Sie einen Schlüssel verwenden müssen, der auf Ihrem privaten Schlüssel basiert.

App-Symbol

Anhand des App-Symbols können Nutzer Ihre App auf dem Startbildschirm eines Geräts und im Launcher-Fenster leichter erkennen. Sie wird auch unter „Apps verwalten“, „Meine Downloads“ usw. angezeigt. Zusätzlich zeigen Publisher-Dienste wie Google Play Ihren Nutzern Ihr Symbol an. Sie benötigen ein App-Symbol, das den empfohlenen Symbolrichtlinien entspricht.

Hinweis:Wenn Sie Ihre App bei Google Play veröffentlichen, müssen Sie eine hochauflösende Version Ihres Symbols erstellen. Weitere Informationen finden Sie unter Vorschaugruppen zum Präsentieren Ihrer App hinzufügen.

Endnutzer-Lizenzvereinbarung

Erwägen Sie die Vorbereitung einer Endnutzer-Lizenzvereinbarung für Ihre Anwendung. Ein Endnutzer-Lizenzvertrag (EULA) kann dabei helfen, Ihre Person, Ihre Organisation und Ihr geistiges Eigentum zu schützen. Wir empfehlen Ihnen, einen Endnutzer-Lizenzvertrag (EULA) zusammen mit Ihrer Anwendung bereitzustellen.

Sonstige Materialien

Möglicherweise müssen Sie auch Werbe- und Marketingmaterialien vorbereiten, um Ihre App zu bewerben. Wenn Sie Ihre App beispielsweise bei Google Play veröffentlichen, müssen Sie Werbetext vorbereiten und Screenshots Ihrer App erstellen. Weitere Informationen finden Sie unter Vorschauelemente hinzufügen.

App für Release konfigurieren

Nachdem du alle deine unterstützenden Materialien zusammengetragen hast, kannst du mit der Konfiguration deiner App für die Veröffentlichung beginnen. Dieser Abschnitt enthält eine Zusammenfassung der Konfigurationsänderungen, die Sie vor der Veröffentlichung Ihrer Anwendung am Quellcode, an den Ressourcendateien und am App-Manifest vornehmen sollten.

Obwohl die meisten in diesem Abschnitt aufgeführten Konfigurationsänderungen optional sind, gelten sie als gute Programmierpraktiken und wir empfehlen Ihnen, sie zu implementieren. In einigen Fällen haben Sie diese Konfigurationsänderungen möglicherweise bereits im Rahmen Ihres Entwicklungsprozesses vorgenommen.

Geeignete App-ID auswählen

Achten Sie darauf, eine App-ID auszuwählen, die für die Lebensdauer Ihrer App geeignet ist. Sie können die App-ID nicht mehr ändern, nachdem Sie Ihre App für Nutzer bereitgestellt haben. Dazu verwenden Sie das Attribut applicationId in der Datei build.gradle oder build.gradle.kts auf Modulebene. Weitere Informationen finden Sie unter Anwendungs-ID festlegen.

Debugging deaktivieren

Verwenden Sie das Flag debuggable für Groovy oder das Flag isDebuggable für Kotlin-Script, um festzulegen, ob das APK debug-fähig ist:

Kotlin

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

Groovig

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

Anwendungsverkleinerung aktivieren und konfigurieren

Viele der folgenden Optimierungen können automatisiert werden, wenn Sie die Verkleinerung für Ihren Release-Build aktivieren. Sie können z. B. ProGuard-Regeln hinzufügen, um Logberichte zu entfernen. Der Schrumpffunktion erkennt nicht verwendeten Code und nicht verwendete Ressourcen und entfernt diese. Der Verkleinerer kann auch Klassen- und Variablennamen durch kürzere Namen ersetzen, um die DEX-Größe weiter zu reduzieren.

Protokollierung deaktivieren

Deaktivieren Sie die Protokollierung, bevor Sie Ihre App für die Veröffentlichung erstellen. Wenn Sie das Logging deaktivieren möchten, entfernen Sie die Aufrufe von Log-Methoden aus den Quelldateien. Entfernen Sie außerdem alle Protokolldateien oder statischen Testdateien, die in Ihrem Projekt erstellt wurden.

Entfernen Sie außerdem alle Debug-Tracing-Aufrufe, die Sie dem Code hinzugefügt haben, z. B. startMethodTracing()- und stopMethodTracing()-Methodenaufrufe.

Wichtig:Deaktivieren Sie die Fehlerbehebung für Ihre Anwendung, wenn Sie WebView zum Anzeigen kostenpflichtiger Inhalte oder JavaScript-Schnittstellen verwenden. Bei der Fehlerbehebung können Nutzer mithilfe der Chrome-Entwicklertools Skripts einschleusen und Inhalte extrahieren. Verwenden Sie die Methode WebView.setWebContentsDebuggingEnabled(), um die Fehlerbehebung zu deaktivieren.

Projektverzeichnisse bereinigen

Bereinigen Sie Ihr Projekt und achten Sie darauf, dass es der unter Projektübersicht beschriebenen Verzeichnisstruktur entspricht. Verteilte oder verwaiste Dateien im Projekt können verhindern, dass Ihre Anwendung kompiliert wird, und zu unvorhersehbarem Verhalten der Anwendung führen. Führen Sie mindestens die folgenden Bereinigungsaufgaben aus:

  • Prüfen Sie den Inhalt der Verzeichnisse cpp/, lib/ und src/. Das Verzeichnis cpp/ sollte nur Quelldateien enthalten, die mit dem Android-NDK verknüpft sind, z. B. C- oder C++-Quelldateien, Header- oder Makefiles. Das Verzeichnis lib/ sollte nur Bibliotheksdateien von Drittanbietern oder private Bibliotheksdateien enthalten, einschließlich vordefinierter freigegebener und statischer Bibliotheken. Das Verzeichnis src/ sollte nur die Quelldateien für Ihre Anwendung enthalten (Java-, Kotlin- oder AIDL-Dateien). Das Verzeichnis src/ sollte keine JAR-Dateien enthalten.
  • Prüfe dein Projekt auf private oder proprietäre Datendateien, die nicht von deiner Anwendung verwendet werden, und entferne sie. Suche beispielsweise im Verzeichnis res/ deines Projekts nach alten Drawable-Dateien, Layoutdateien und Wertedateien, die du nicht mehr verwendest, und lösche sie.
  • Suchen Sie in Ihrem lib/-Verzeichnis nach Testbibliotheken und entfernen Sie sie, wenn sie nicht mehr von Ihrer App verwendet werden.
  • Prüfen Sie den Inhalt des Verzeichnisses assets/ und res/raw/ auf Roh-Asset-Dateien und statische Dateien, die vor der Veröffentlichung aktualisiert oder entfernt werden müssen.

Manifest- und Gradle-Build-Einstellungen prüfen und aktualisieren

Prüfen Sie, ob die folgenden Manifest- und Build-Dateielemente richtig festgelegt sind:

  • <uses-permission> Element

    Gib nur die Berechtigungen an, die für deine App relevant und erforderlich sind.

  • android:icon- und android:label-Attribute

    Sie müssen Werte für diese Attribute angeben, die sich im Element <application> befinden.

  • versionCode- und versionName-Properties

    Wir empfehlen, Werte für diese Attribute anzugeben. Sie befinden sich in der Datei build.gradle oder build.gradle.kts auf App-Modulebene. Weitere Informationen finden Sie unter App versionieren.

Es gibt mehrere zusätzliche Build-Dateielemente, die Sie festlegen können, wenn Sie Ihre App bei Google Play veröffentlichen. Beispiel: die Attribute minSdk und targetSdk, die sich in der Datei build.gradle oder build.gradle.kts auf Modulebene der App befinden. Weitere Informationen zu diesen und anderen Google Play-Einstellungen finden Sie unter Filter bei Google Play.

Kompatibilitätsprobleme beheben

Android bietet verschiedene Tools und Techniken, um deine App mit einer Vielzahl von Geräten kompatibel zu machen. So machen Sie Ihre App für möglichst viele Nutzer verfügbar:

Unterstützung für mehrere Bildschirmkonfigurationen hinzufügen.
Achte darauf, dass du die Best Practices für die Unterstützung mehrerer Bildschirme einhältst. Durch die Unterstützung mehrerer Bildschirmkonfigurationen kannst du eine App erstellen, die auf allen von Android unterstützten Bildschirmgrößen ordnungsgemäß funktioniert und gut aussieht.
Optimiere deine App für größere Displays.
Du kannst deine App für Geräte mit großen Displays wie Tablets und faltbare Smartphones optimieren. Beispielsweise können Layouts mit Listendetails die Nutzerfreundlichkeit auf größeren Bildschirmen verbessern.
Erwägen Sie die Verwendung von Jetpack-Bibliotheken.
Jetpack ist eine Suite von Bibliotheken, die Entwickler dabei unterstützen sollen, Best Practices umzusetzen, Boilerplate-Code zu reduzieren und Code zu schreiben, der auf allen Android-Versionen und -Geräten einheitlich funktioniert.

URLs für Server und Dienste aktualisieren

Wenn Ihre Anwendung auf Remote-Server oder -Dienste zugreift, müssen Sie die Produktions-URL oder den Produktionspfad für den Server oder Dienst verwenden und keine Test-URL oder -Pfad.

Lizenzierung für Google Play implementieren

Wenn du eine kostenpflichtige App über Google Play veröffentlichst, solltest du eventuell auch Unterstützung für die Google Play-Lizenzierung hinzufügen. Mit der Lizenzierung können Sie den Zugriff auf Ihre Anwendung abhängig davon steuern, ob der aktuelle Nutzer sie gekauft hat. Die Verwendung der Google Play-Lizenzierung ist optional, auch wenn du deine App über Google Play veröffentlichst.

Weitere Informationen zum Google Play-Lizenzierungsservice und zu seiner Verwendung in Ihrer App finden Sie unter App-Lizenzierung.

App für die Veröffentlichung erstellen

Nachdem Sie Ihre App konfiguriert haben, können Sie sie in eine Release-fähige APK-Datei einbinden, die signiert und optimiert ist. Das JDK enthält die Tools zum Signieren der APK-Datei (Keytool und Jarsigner). Das Android SDK enthält die Tools zum Kompilieren und Optimieren der APK-Datei. Wenn Sie Android Studio oder das Build-System Gradle über die Befehlszeile nutzen, können Sie den gesamten Build-Prozess automatisieren. Weitere Informationen zum Konfigurieren von Gradle-Builds findest du unter Build-Varianten konfigurieren.

Wenn Sie ein Continuous-Integration-System verwenden, können Sie eine Aufgabe konfigurieren, um den Release-Prozess zu automatisieren. Dies beschränkt sich nicht auf das Erstellen Ihres Release-APKs oder -AAB. Sie können es auch so konfigurieren, dass die Build-Artefakte automatisch in die Play Console hochgeladen werden.

Apps mit Android Studio entwickeln

Mit dem in Android Studio integrierten Gradle-Build-System können Sie eine Release-fähige APK-Datei erstellen, die mit Ihrem privaten Schlüssel signiert und optimiert ist. Informationen zum Einrichten und Ausführen von Builds über Android Studio finden Sie unter App erstellen und ausführen.

Beim Build-Prozess wird davon ausgegangen, dass du ein Zertifikat und einen privaten Schlüssel zum Signieren deiner App hast. Wenn du kein geeignetes Zertifikat und keinen privaten Schlüssel hast, kann dir Android Studio helfen, eines zu generieren. Weitere Informationen zum Signieren finden Sie unter App signieren.

Externe Server und Ressourcen vorbereiten

Wenn Ihre Anwendung auf einem Remoteserver basiert, prüfen Sie, ob der Server sicher ist und für die Produktion konfiguriert ist. Das ist besonders wichtig, wenn Sie die In-App-Abrechnung in Ihrer Anwendung implementieren und die Signaturprüfung auf einem Remoteserver durchführen.

Wenn deine App Inhalte von einem Remoteserver oder einem Echtzeitdienst wie einem Contentfeed abruft, solltest du außerdem darauf achten, dass die von dir bereitgestellten Inhalte aktuell und produktionsreif sind.

App für die Veröffentlichung testen

Das Testen der Release-Version Ihrer App trägt dazu bei, dass Ihre App unter realistischen Geräte- und Netzwerkbedingungen ordnungsgemäß funktioniert. Testen Sie Ihre App idealerweise auf mindestens einem Mobilgerät und einem Gerät in Tabletgröße. So können Sie überprüfen, ob die Elemente der Benutzeroberfläche die richtige Größe haben und ob die Leistung und die Akkueffizienz Ihrer App akzeptabel sind. Firebase Test Lab kann ebenfalls für Tests auf verschiedenen Geräten und Android-Betriebssystemversionen nützlich sein.

Einen Ausgangspunkt für Tests findest du unter Hauptqualität von Apps. Wenn Sie mit dem Testen fertig sind und sichergestellt haben, dass die Release-Version Ihrer App korrekt funktioniert, können Sie Ihre App für Nutzer veröffentlichen. Weitere Informationen finden Sie unter App für Nutzer veröffentlichen.