Package Name — was es ist, Reverse-Domain-Notation und Anforderungen

Autor: IT Sectr Veröffentlicht: 2026-04-17 Lesezeit: 8 Min.

Package Name ist eine eindeutige Kennung für Android-Anwendungen, die auf der Reverse-Domain-Notation basiert. Sie wird vom System verwendet, um Anwendungen auf dem Gerät des Benutzers zu unterscheiden, von Google Play zur Identifizierung des Produkts und von Firebase-Diensten zur Verknüpfung aller Projektkonfigurationen. Laut der Android Developer Documentation bleibt der Package Name nach der Veröffentlichung über den gesamten Anwendungslebenszyklus unverändert.

Wichtigste Erkenntnisse

  • Package Name — globale Android-Anwendungskennung im Reverse-Domain-Format
  • Format verwendet die Domain des Unternehmens in umgekehrter Reihenfolge: com.example.app
  • Eindeutigkeit wird von Google Play bei der Veröffentlichung geprüft — Duplikate sind verboten
  • Änderung des Package Name nach der Veröffentlichung ist ohne Erstellung einer neuen App unmöglich
  • Application ID in build.gradle entspricht dem Package Name und wird separat konfiguriert

Was ist Package Name in Android

Package Name ist eine eindeutige Zeichenfolge, die Android zur Identifizierung einer Anwendung auf Betriebssystemebene verwendet. Sie entspricht dem Feld package in der Datei AndroidManifest.xml und dem Feld applicationId in der Datei build.gradle des App-Moduls. Ohne einen eindeutigen Package Name ist die Installation einer Anwendung auf dem Gerät des Benutzers nicht möglich.

Zweck des Package Name

Auf dem Gerät dient der Package Name als Schlüssel für die Anwendungsverwaltung: Das System speichert Daten, Einstellungen und Cache jeder Anwendung im Verzeichnis /data/data/[packageName]. Zwei Anwendungen mit derselben Kennung können nicht nebeneinander existieren — beim Versuch, ein Duplikat zu installieren, fordert das System zur Entfernung der vorhandenen App auf.

Package Name und Application ID

Im Android Gradle Plugin Version 0.11+ wurde eine Trennung zwischen Package Name (im Manifest) und Application ID (in build.gradle) eingeführt. Die Application ID ist die tatsächliche Anwendungskennung für das System und Google Play. Der Package Name im Manifest wird zur Ressourcenauflösung und R-Klassengenerierung verwendet. Es wird empfohlen, sie aus Einfachheitsgründen gleich zu halten.

groovy
// build.gradle (Module: app)
android {
    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 24
        targetSdkVersion 34
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
    }
}

Das Feld applicationIdSuffix ermöglicht das Hinzufügen eines Suffixes zur Application ID für verschiedene Build-Konfigurationen. Eine Debug-Version kann die Kennung com.example.app.debug haben, was die Installation neben der Produktionsversion für parallele Tests ermöglicht.

Namensregeln für Package Name

Google Play legt strenge Regeln für den Package Name fest, die bei der Veröffentlichung eingehalten werden müssen. Die Kennung muss im gesamten Store eindeutig sein, Syntaxanforderungen erfüllen und darf keine Markenrechte verletzen.

Syntaxanforderungen

Der Package Name darf nur lateinische Buchstaben (A-Z, a-z), Ziffern (0-9), einen Punkt (.) und den Unterstrich (_) enthalten. Die maximale Länge beträgt 150 Zeichen. Jedes Segment zwischen den Punkten muss mit einem Buchstaben beginnen. Bindestriche, Leerzeichen und Sonderzeichen sind durch die Google Play-Regeln verboten.

AnforderungWertBeispiel
Erlaubte ZeichenLateinische Buchstaben, Ziffern, Punkt, Unterstrichcom.example.my_app
Maximale Länge150 Zeichencom.example.verylongappname
SegmentbeginnNur Buchstabecom — nicht 3com
VerbotenBindestriche, Leerzeichen, Kyrillischcom.example-app — Fehler
EindeutigkeitGlobal in Google PlayBei Erstellung geprüft

Eindeutigkeitsanforderungen

Die Eindeutigkeit des Package Name ist eine absolute Anforderung des Google Play Store. Wenn eine andere Anwendung die gewählte Kennung bereits verwendet, wird die Veröffentlichung abgelehnt. Google gibt keine Kennungen gelöschter Anwendungen frei, daher ist die Wahl des ersten Package Name eine kritische Entscheidung für jeden Entwickler.

Reverse-Domain-Notation und Konventionen

Die Reverse-Domain-Notation ist ein Namensstandard, bei dem der Domainname des Unternehmens in umgekehrter Reihenfolge geschrieben wird: com.example statt example.com. Dieses System garantiert die globale Eindeutigkeit der Kennungen, da jeder Domainname von Natur aus eindeutig ist.

Standardpräfixe

Entwickler verwenden in der Regel ein Präfix, das der TLD ihrer Domain entspricht: com für kommerzielle Organisationen, org für gemeinnützige Organisationen, io für Technologieprojekte, net für Netzwerkdienste und Lösungen. Für persönliche Projekte ist com.github.username oder com.email akzeptabel.

  • com.company.app — Standardformat für kommerzielle Anwendungen
  • org.company.app — für gemeinnützige und Open-Source-Projekte
  • io.company.app — beliebt bei Startups und SaaS-Produkten
  • com.github.username — für persönliche Projekte auf GitHub

Konventionen für plattformübergreifende Projekte

Für Anwendungen, die auf iOS und Android veröffentlicht werden, wird empfohlen, auf beiden Plattformen dieselbe Kennung zu verwenden. Dies vereinfacht die Integration mit Firebase, AppsFlyer, Adjust und anderen Analysesystemen, die an die Projektkennung gebunden sind. Beispielsweise wird com.mycompany.myapp die Bundle-ID auf iOS und der Package Name auf Android sein.

Package Name im Android-Projekt konfigurieren

Die Konfiguration des Package Name in einem Android-Projekt umfasst die Änderung der applicationId in build.gradle und der entsprechenden Java/Kotlin-Quellcode-Verzeichnisstruktur. Android Studio bietet Werkzeuge zur Refaktorierung des Package Name, aber für komplexe Projekte wird eine schrittweise Migration empfohlen.

Verzeichnisstruktur und Package Name

kotlin
// Der Dateipfad entspricht dem Package Name
// com/example/myapp/MainActivity.kt

package com.example.myapp

import android.os.Bundle
import androidx.activity.ComponentActivity

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }
}

In Kotlin und Java muss der Package Name in den Quelldateien mit der Verzeichnisstruktur übereinstimmen. Beim Ändern des Package Name in build.gradle müssen Sie die Dateien in die entsprechenden Verzeichnisse verschieben und alle package- und import-Deklarationen aktualisieren. Android Studio kann dies automatisch über Refactor -> Move erledigen, aber bei großen Projekten mit Dutzenden von Dateien wird empfohlen, das Ergebnis nach der Refaktorierung zu überprüfen.

Wenn das Projekt Data Binding, View Binding oder Hilt verwendet, wirkt sich die Änderung des Package Name auch auf generierte Klassen aus. Binding-Klassen werden basierend auf dem Package Name des Moduls und dem Layout-Verzeichnis erstellt. Nach dem Ändern der Kennung müssen Sie das Projekt neu erstellen, um alle generierten Referenzen zu aktualisieren. Es wird empfohlen, nach der Änderung des Package Name einen Clean Build durchzuführen, um Fehler durch zwischengespeicherte alte Referenzen zu vermeiden.

In Gradle 7.0+ wurde Unterstützung für namespace in build.gradle eingeführt, der das Feld package in AndroidManifest.xml für die R-Klassen- und Ressourcengenerierung ersetzt hat. Dabei bleibt applicationId die tatsächliche Anwendungskennung für das System und Google Play. Dies ermöglicht unterschiedliche applicationId und namespace, was für Bibliotheksmodule nützlich ist, bei denen der namespace fest ist, während die öffentliche Kennung während des Builds geändert werden kann.

Bei Projekten mit modularer Architektur kann die Änderung des Package Name eines Moduls Importe in anderen Modulen beeinflussen. Wenn das Datenmodul das Paket com.example.data hat und das Domainmodul seine Klassen verwendet, aktualisieren Sie nach dem Ändern der Kennung die Importe in allen abhängigen Modulen. Das Android Gradle Plugin Version 8.0+ vereinfacht diesen Prozess durch automatische namespace-Generierung aus build.gradle.

Package Name über Code überprüfen

Um die aktuelle Application ID zu erhalten, verwenden Sie die BuildConfig-Klasse: BuildConfig.APPLICATION_ID. Dies ist nützlich für bedingte Logik im Code, Umgebungsbindung oder die Anzeige der Kennung in Debug-Bildschirmen. BuildConfig wird automatisch basierend auf build.gradle generiert.

kotlin
// Application ID zur Laufzeit abrufen
val packageName = BuildConfig.APPLICATION_ID
val packageManager = packageManager
val appInfo = packageManager.getPackageInfo(packageName, 0)

println("App version: ${appInfo.versionName} (${appInfo.versionCode})")
println("Package: $packageName")

Package Name nach Veröffentlichung ändern

Das Ändern des Package Name nach der Veröffentlichung einer Anwendung bei Google Play ist ein Vorgang, der die Erstellung eines völlig neuen Produkts bedeutet. Das System erlaubt keine Aktualisierung einer vorhandenen Anwendung mit einem anderen Package Name, daher ist die Entscheidung, die Kennung zu ändern, gleichbedeutend mit einem Neustart des Projekts im Store.

Folgen der Änderung des Package Name

Bei der Änderung des Package Name gehen verloren: alle Bewertungen und Rezensionen, Installationsstatistiken, Google Services-Integration (falls nicht migriert), Firebase-Projektlinks (erfordert Erstellung einer neuen google-services.json). Benutzer erhalten kein automatisches Update — sie sehen die neue Anwendung im Store.

  • Bewertungen und Rezensionen — bleiben bei der alten Anwendung, werden nicht übertragen
  • Installationsstatistiken — werden für den neuen Package Name zurückgesetzt
  • Firebase-Projekte — erfordern eine neue google-services.json-Konfiguration und Neukonfiguration aller Dienste
  • Benutzer — erhalten keine automatischen Updates, müssen separat benachrichtigt werden

Wann die Änderung des Package Name gerechtfertigt ist

Das Ändern des Package Name kann bei einem Rebranding des Unternehmens, der Übertragung einer Anwendung auf ein anderes Entwicklerkonto oder der Erstellung einer separaten Version für eine andere Region gerechtfertigt sein. In jedem Fall wird empfohlen, vor der Änderung die Benutzer über die alte Anwendung zu informieren und einen Migrationsplan mit Datenübertragung vorzubereiten. Ohne Migrationsplan verlieren Benutzer den Zugriff auf gekaufte Inhalte, Abonnements und gespeicherte Anwendungsdaten. Die Migration umfasst die Übertragung der Datenbank und Dateien über SharedPreferences oder Room.

Stellen Sie vor der Änderung des Package Name sicher, dass die neue Kennung eindeutig ist und den Namensregeln entspricht. Erstellen Sie eine neue Anwendung bei Google Play mit dem neuen Package Name und veröffentlichen Sie sie als separates Produkt. Geben Sie in der Beschreibung der alten Anwendung einen Link zur neuen an. Erwägen Sie die Verwendung von Google Play Custom Store Listing zur Weiterleitung der Benutzer.

Häufig gestellte Fragen

Kann ich einen Bindestrich oder Unterstrich im Package Name verwenden?

Im Package Name ist der Unterstrich (_) erlaubt, aber nicht der Bindestrich (-). Unterstriche werden selten verwendet, sind aber akzeptabel: com.example.my_app. Bindestriche sind durch die Google Play-Regeln verboten und führen bei der Veröffentlichung zu einem Fehler. Es wird empfohlen, nur den Punkt als Segmenttrenner zu verwenden.

Was ist der Unterschied zwischen Package Name und Application ID in build.gradle?

Package Name ist die Kennung in AndroidManifest.xml, die zur Ressourcenauflösung und R-Klassengenerierung verwendet wird. Application ID ist das Feld in build.gradle, das die Anwendungskennung für das System und den Google Play Store bestimmt. Es wird empfohlen, sie gleich zu halten, aber Unterschiede sind bei Verwendung von applicationIdSuffix zulässig.

Wie wähle ich den richtigen Package Name für ein neues Projekt?

Verwenden Sie die Reverse-Domain-Notation Ihres Unternehmens oder Spitznamens: com.domain.appname. Stellen Sie sicher, dass die Kennung in Google Play eindeutig ist. Vermeiden Sie gebräuchliche Wörter (todo, test, app) und prüfen Sie, ob die Kennung nicht bereits von einem anderen Entwickler verwendet wird, indem Sie in Google Play suchen.

Kann ich den Package Name vor der Veröffentlichung bei Google Play ändern?

Ja, vor der Veröffentlichung bei Google Play kann der Package Name ohne Konsequenzen geändert werden. Nach der Änderung müssen Sie google-services.json neu generieren, die Verzeichnisstruktur aktualisieren und alle Importe überprüfen. Android Studio bietet Refactor -> Move Werkzeuge zur Automatisierung des Prozesses.

Wie hängt der Package Name mit der App-Signatur zusammen?

Der Package Name bildet zusammen mit dem Signaturzertifikat eine eindeutige Bindung, die die Anwendung in Google Play identifiziert. Selbst wenn zwei Anwendungen unterschiedliche Package Names haben, können sie mit demselben Schlüssel signiert sein. Der Wechsel des Signaturzertifikats ist durch Key Rotation in der Play Console ohne Verlust der Kennung möglich.

Zusammenfassung

  • Package Name — eindeutige Android-Anwendungskennung im Reverse-Domain-Notationsformat
  • Namensregeln — lateinische Buchstaben, Ziffern, Punkt, Unterstrich; maximal 150 Zeichen
  • Reverse Domain garantiert globale Eindeutigkeit: com.company.appname
  • Application ID in build.gradle entspricht dem Package Name und kann Build-Suffixe haben
  • Änderung nach Veröffentlichung unmöglich — neue App verliert Bewertungen und Rezensionen
  • Android Studio bietet Refaktorierungswerkzeuge für sichere Änderungen vor der Veröffentlichung
  • Empfehlung — wählen Sie eine aussagekräftige Kennung vor der Veröffentlichung, vermeiden Sie gebräuchliche und belegte Namen

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch