Paketname einer App ändern

Android-Studio: Allgemein (Logo)
Wozu dient ein Paket in Android?

Allgemein ist es in der objektorientierten Programmierung (OOP) üblich, Klassen in Pakete zu bündeln, um Namenskonflikte bei gleichnamigen Klassen zu vermeiden. Durch die Pakete wird das Konzept der Namensräume umgesetzt und auch in Android angewendet, d.h. es müssen alle Klassen in einem oder mehreren Paket(en) zusammengefasst werden. Dabei ergibt es Sinn, diese Klassen logisch zu trennen und nicht alle Klassen in nur ein Paket zu packen.

Beispiel:

Im Screenshot unten siehst du beispielhaft zwei unterschiedliche Klassen mit dem gleichen Namen „MyClass„, was eigentlich zu einem Namenskonflikt führen würde, wenn diese Klassen im gleichen Paket bzw. Namensraum vorhanden wären. Dadurch, dass die Klassen jedoch getrennt in unterschiedlichen Paketen abgelegt sind, ist es für den Compiler eindeutig, um welche Klasse es sich jeweils handelt.

Android-Studio: Zweck eines Paketnamens

 

Warum sollte der Paketname geändert werden?

Normalerweise wird beim Anlegen eines neuen Android-Projektes der Paketname einmalig durch den Benutzer festgelegt und danach die gesamte Paketverwaltung von Android übernommen. Es kann aber durchaus Situationen geben, die ein Ändern des Paketnamens erforderlich machen. So wäre es z.B. denkbar, dass du bei Github ein fertiges Android-Projekt herunterlädst und auf deine Bedürfnisse anpassen möchtest.

Aus diesem Grund möchten wir dir nachfolgend alle Schritte zum Ändern des Paketnamens in Android-Studio zeigen.

ACHTUNG: Für die nachfolgende Anleitung muss Android-Studio bei dir installiert und gestartet sein. Zudem solltest du bereits ein Android-Projekt angelegt oder importiert haben!

-> Anleitung zur Installation von Android-Studio

-> Anleitung zum Anlegen eines Android-Projekts

 

Schritt 1: Android-Ansicht einstellen
Im ersten Schritt stellst du die "Projekt-Ansicht" zunächst auf die "Android-Ansicht" um, indem du oben links zuerst auf "Project" klickst und danach auf "Android".

Android-Studio: Paketname ändern (Schritt 1)

 

Schritt 2: „Hide Empty Middle Packages“ deaktivieren
Bei diesem Schritt gehst du oben im Projekt-Fenster auf das kleine "Zahnrad-Symbol" und entfernst dann im Dropdown-Menü mit einem Klick den Haken bei "Hide Empty Middle Packages".

Android-Studio: Paketname ändern (Schritt 2a)
Anschließend werden alle Ordner einzeln untereinander angezeigt:

Android-Studio: Paketname ändern (Schritt 2b)

 

Schritt 3: „Rename“-Dialog öffnen
Nun klickst du mit der rechten Maustaste auf den obersten Ordner (in unserem Fall "com") und fährst im Kontext-Menü mit der Maus zunächst über den Eintrag "Refactor" und klickst im Dropdown-Menü auf "Rename...".

Info: Alternativ kannst du auch gleichzeitig die Tasten "Umschalt" und "F6" drücken, um ins "Rename"-Fenster zu kommen.

Android-Studio: Paketname ändern (Schritt 3a)
Danach zeigt Android-Studio eine der beiden folgenden Warnungen an:

Android-Studio: Paketname ändern (Schritt 3b - Variante 1)
Sollte die Warnung wie in "3b" erscheint, klickst du einfach auf "Rename all".

Android-Studio: Paketname ändern (Schritt 3b - Variante 2)
Sollte dagegen die obige Warnung bei dir auftauchen, so klickst du hier auf "Rename package".

Sobald du eine der beiden Warnungen bestätigt hast, sollte bei dir der folgende "Rename"-Dialog angezeigt werden:

Android-Studio: Paketname ändern (Schritt 3c)
Hier gibst du in das "Eingabefeld" unterhalb von "Rename directory 'com' and its usages to:" den neuen Paketnamen ein und setzt einen Haken bei "Search in comments and strings", sofern du den Paketnamen auch in allen Kommentaren und Strings mit ändern möchtest. Danach klickst du entweder auf "Refactor" oder "Preview", wobei in beiden Fällen eine Vorschau geöffnet wird.

 

Schritt 4: Namens-Änderung ausführen
Nachdem du im vorherigen Schritt auf "Refactor" oder "Preview" geklickt hast, wird dir nun ein "Preview"-Fenster unten links angezeigt. In dieser Vorschau kannst du sehen, in wie vielen Dateien der alte Paketname vorkommt und entsprechend deines Wunsches in den neuen Paketnamen geändert wird. Klicke zur Durchführung der Änderung unten links auf den Button "Do Refactor".

Android-Studio: Paketname ändern (Schritt 4a)
Danach führt Android-Studio die Änderung des Paketnamens in allen betroffenen Dateien durch, wobei dieser Prozess in der Regel ein paar Sekunden in Anspruch nimmt. Der Fortschritt wird dir dabei im Fenster "Rename directories" fortlaufend angezeigt:

Android-Studio: Paketname ändern (Schritt 4b)
Sobald die Änderung abgeschlossen ist, kannst du im Projekt-Fenster nachschauen, ob die Änderung auch wirklich durchgeführt wurde. Unterhalb des "java"-Ordners sollte jetzt der "neue Paketname" (in unserem Fall "neuedomain") angezeigt werden:

Android-Studio: Paketname ändern (Schritt 4c)
Zudem wird dir ganz unten links in Android-Studio angezeigt, in wie vielen Dateien insgesamt Änderungen ausgeführt wurden (bei uns waren es z.B. 721 Änderungen):

Android-Studio: Paketname ändern (Schritt 4d)

 

Schritt 5: „build.gradle (Module: app)“-Skript anpassen
Klicke nun im Projekt-Fenster zuerst doppelt auf "Gradle Scripts" und danach erneut doppelt auf "build.gradle (Module: app)". Im geöffneten Gradle-Skript auf der rechten Seite änderst du dann im Attribut "applicationId" den Eintrag der Domäne in den neuen Paketnamen (in unserem Beispiel ändern wir also "com" in "neuedomain").

Android-Studio: Paketname ändern (Schritt 5a)
Im Anschluss daran klickst du oben rechts auf "Sync now":

Android-Studio: Paketname ändern (Schritt 5b)
Danach erfolgt die Projekt-Synchronisation, die nur wenige Sekunden benötigt: 

Android-Studio: Paketname ändern (Schritt 5c)

 

Schritt 6: „Manifest“ anpassen
Info: Die Anpassung der Manifest-Datei ist nicht immer notwendig, es kann aber durchaus vorkommen, dass der Paketname hier nicht geändert wird. Aus diesem Grund zeigen wir dir also kurz, was genau du im Manifest ändern musst. 

Klicke im Projekt-Fenster zuerst doppelt auf den Ordner "manifests" und danach nochmal doppelt auf die "AndroidManifest.xml"-Datei. Im geöffneten Manifest auf der rechten Seite findest du nun ganz oben den Eintrag "package", bei dem du im ersten Abschnitt ganz vorne deinen neuen Paketnamen einträgst (in unserem Fall ändern wir wieder von "com" auf "neuedomain").

Android-Studio: Paketname ändern (Schritt 6)

 

Schritt 7: „Rebuild Project“ ausführen
Info: Auch dieser Schritt muss nicht immer durchgeführt werden, falls also bei dir bisher keine Fehler auftreten, dann kannst du diesen Schritt einfach überspringen. Ansonsten gehe die nachfolgenden Schritte durch.

Klicke oben in der Menü-Leiste zunächst auf "Build" und danach im Dropdown-Menü auf den Eintrag "Rebuild Project". Anschließend werden alle Build-Artefakte im "Build"-Ordner gelöscht (Clean Project) und die Binaries neu kompiliert.

Android-Studio: Paketname ändern (Schritt 7)