Benennen Sie das Paket in Android Studio um

1361

Wie benenne ich Pakete im neuen IDE Android Studio basierend auf IntelliJ IDEA um?

Ist ein automatisches Refactoring enthalten?

Ich möchte Bulk-Refactoring durchführen, weiß aber nicht wie. Ich habe zwei Jahre mit Eclipse gearbeitet und in Eclipse ist es eine Ein-Klick-Operation.

ramzixp
quelle
Bitte sehen Sie meine Antwort hier . Ich habe es erfolgreich geschafft, mein Projekt mit den von mir beschriebenen Schritten umzubenennen.
Leigh
Mögliches Duplikat des Projektnamens auf Android Studio ändern
Leigh
Schritt für Schritt Verfahren zum Ändern des Paketnamens
Shubham Soni
Die Antwort von Sheharyar funktioniert wie erwartet. dh 1. Refactor 2. Bearbeiten Sie build.gradle. Sie müssen jedoch das Attribut app_name auch in der Datei strings.xml ändern!
Suhas Mallya

Antworten:

2848

In Android Studio können Sie Folgendes tun:

Wenn Sie beispielsweise zu ändern möchten, gehen Sie wie folgt com.example.appvor my.awesome.game:

  1. Klicken Sie in Ihrem Projektfenster auf das kleine Zahnradsymbol ( Zahnradsymbol)

  2. Deaktivieren / Deaktivieren Sie die Compact Empty Middle PackagesOption

    Kompakte leere Mittelpakete

  3. Ihr Paketverzeichnis wird nun in einzelne Verzeichnisse aufgeteilt

  4. Wählen Sie jedes Verzeichnis, das Sie umbenennen möchten, einzeln aus und:

    • Klicken Sie mit der rechten Maustaste darauf
    • Wählen Refactor
    • Klicke auf Rename
    • Klicken Sie im Rename PackagePopup -Dialogfeld auf anstelle von Verzeichnis umbenennen
    • Geben Sie den neuen Namen ein und klicken Sie auf Refactor
    • Klicken Sie unten auf Refactor ausführen
    • Warten Sie eine Minute, bis Android Studio alle Änderungen aktualisiert hat
    • Hinweis: Beim Umbenennen comin Android Studio wird möglicherweise eine Warnung ausgegeben. Wählen Sie in diesem Fall Alle umbenennen

    Geben Sie hier die Bildbeschreibung ein

  5. Öffnen Sie nun Ihre Gradle Build-Datei ( build.gradle- Normalerweise appoder mobile). Aktualisieren Sie das applicationIdin defaultConfigIhrem neuen Paketnamen und synchronisieren Sie Gradle, falls es noch nicht automatisch aktualisiert wurde:

    Refactor-Verzeichnisse

  6. Möglicherweise müssen Sie das package=Attribut in Ihrem Manifest ändern .

  7. Reinigen und neu aufbauen.

  8. Erledigt! Auf jeden Fall muss Android Studio diesen Vorgang etwas vereinfachen.

Sheharyar
quelle
32
Reinigen und wieder aufbauen.
Sheharyar
20
WARNUNG: Wenn Sie "Alle umbenennen" auswählen, wenn Sie auch "com" umbenennen, werden nicht nur Dinge in das ausgewählte Modul, sondern in alle Module in diesem Projekt umbenannt
ricky.tribbia
17
@Antonio ziehen Sie die Dateien in com.example.testauf com.exampleund löschen com.example.test.
Dick Lucas
27
Dieses Verfahren hat bei mir funktioniert. Ich musste auch die AndroidManifest.xml ändern, um den neuen Namen wiederzugeben. Zum Beispiel -> package = "my.awesome.game">
nevzo
10
Wenn Sie firebase verwenden, ändern Sie Ihren Paketnamen auch in google-services.json.
Samar
550

Eine weitere gute Methode ist: Erstellen Sie zunächst ein neues Paket mit dem gewünschten Namen, indem Sie mit der rechten Maustaste auf den Java-Ordner → NeuPaket klicken .

Wählen Sie dann alle Ihre Klassen aus und ziehen Sie sie in das neue Paket. Android Studio wird den Paketnamen überall umgestalten.

Löschen Sie abschließend das alte Paket.

Erledigt.

Sehr wichtig:

Sie müssen die Datei AndroidManifest.xml und build.gradle manuell in das neue Paket ändern , wenn Sie diese Methode verwenden.

user10F64D4
quelle
67
Möglicherweise müssen Sie Ihre Android Manifest-Datei aktualisieren, um auf das neue Paket zu verweisen, wenn Sie diese Methode verwenden. Sehr einfacher Schritt, tolle Lösung.
Dick Lucas
10
Möglicherweise müssen Sie Android Studio neu starten, um die .idea / workspace.xml
Christoph
24
Möglicherweise müssen Sie auch Ihre build.gradle ändern, um das neue Paket widerzuspiegeln
Samik Bandyopadhyay
35
Gute Methode, musste aber zwei weitere Dinge tun (außer das Aktualisieren der Manifestdatei), damit es vollständig funktioniert. Erstens musste der Import der R-Datei im gesamten Projekt geändert / umbenannt werden, und zweitens verwendete appdebug den alten Paketnamen (sichtbar im Ausführungsfenster von Studio) ) fügte die Anwendungs-ID "com.packagename" in der App build.gradle defaultconfig hinzu.
baboo
1
@baboo Um diesen ersten Teil zu vereinfachen, können Sie den Dateiimport für das gesamte Projekt optimieren, indem Sie Strg + Alt + O drücken, alle Dateien auswählen und dann auf Ausführen klicken. Dies ist besonders nützlich, wenn Sie viele Aktivitäten und andere Klassen mit R-Datei-Importen haben.
Samuel Rabinowitz
200

Das Ändern der Anwendungs-ID (die jetzt unabhängig vom Paketnamen ist) kann sehr einfach in einem Schritt durchgeführt werden. Sie müssen AndroidManifest nicht berühren. Gehen Sie stattdessen wie folgt vor:

  1. Klicken Sie mit der rechten Maustaste auf den Stammordner Ihres Projekts.
  2. Klicken Sie auf "Moduleinstellung öffnen".
  3. Gehen Sie zur Registerkarte Aromen.
  4. Ändern Sie die Anwendungs-ID in den gewünschten Paketnamen. Drücke OK.

Beachten Sie, dass dadurch der Paketname nicht geändert wird. Die Entkopplung von Paketname und Anwendungs-ID wird hier erläutert: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

hwat
quelle
8
Dies ändert nur den Namen in Gradle und nirgendwo anders.
Jacob R
4
Dies ist eine Antwort des Heiligen Grals! Sehr schlau!
Sud007
4
Dies muss als richtige Antwort gewählt werden, da es sehr einfach und schnell zu befolgen ist.
Ayaz Alifov
6
Dies muss in Kauf genommen werden, andere Antwort ist langwierig und Sie nicht ändern können , com.example.sampleum com.examplemit anderen Antworten
Inder Kumar Rathore
1
Dies ist die richtige Antwort. Arbeitete wie Charme mit minimaler Zeit
sunil
77

Der von mir verwendete Ansatz zum Umbenennen des Paketnamens ist wie folgt: -

Schritt 1 : Wählen Sie die Option Projekt aus dem linken Menü von Android Studio

Geben Sie hier die Bildbeschreibung ein

Schritt 2 : Klicken Sie mit der rechten Maustaste auf Java, fügen Sie ein neues Paket hinzu und legen Sie den gewünschten Paketnamen fest

Geben Sie hier die Bildbeschreibung ein

Schritt 3 : Geben Sie Ihren neuen Paketnamen ein

Geben Sie hier die Bildbeschreibung ein

Schritt 4 : Kopieren Sie alle Dateien aus Ihrem alten Paket und fügen Sie sie in das neue Paket ein

Geben Sie hier die Bildbeschreibung ein

Schritt 5 : Benennen Sie den Paketnamen in der Manifestdatei um

Geben Sie hier die Bildbeschreibung ein

Schritt 6 : Benennen Sie den Paketnamen in der Datei build.gradle um

Geben Sie hier die Bildbeschreibung ein

Schritt 7 : Klicken Sie dann mit der rechten Maustaste auf das alte Paket, löschen Sie es mit allen Daten und löschen Sie auch dieses Verzeichnis

Geben Sie hier die Bildbeschreibung ein

Schritt 8 : Erstellen Sie dann Ihr Projekt neu

Geben Sie hier die Bildbeschreibung ein

Schritt 9 : Dann werden Sie einige Fehler des alten Import-Paketnamens in Ihrem Projekt finden. Wählen Sie den alten Paketnamen in einer beliebigen Datei aus und drücken Sie STRG + Umschalt + R , geben Sie Ihren neuen Paketnamen in das Ersetzungsfeld ein und drücken Sie dann Suchen

Geben Sie hier die Bildbeschreibung ein

Schritt 10 : Dann erscheint ein Popup wie unten und wählen Sie die Option Alle Dateien

Geben Sie hier die Bildbeschreibung ein

Schritt 11 : Erstellen Sie Ihr Projekt erneut, Bingo Ihr Projektpaketname wurde geändert :)

Mehroz Munir
quelle
1
In Pfad ersetzen ist in Android Studio 2.3.3 nicht mehr für Umschalt + R verfügbar. Markieren Sie den alten Pfad und gehen Sie zu Bearbeiten -> Suchen -> In Pfad ersetzen. Stellen Sie außerdem sicher, dass Sie Ihre Gradle-Dateien aktualisieren. Prost
ralphgabb
Ich habe keine Fehler mit dem alten Paketnamen erhalten. Also musste ich nach Schritt 9 nichts mehr tun. Danke!
user3760100
Wenn Sie keine Fehler erhalten haben, gehen Sie nicht nach Schritt 9
Mehroz Munir
1
Fehler: Ausführung für Task ': app: compileDebugAidl' fehlgeschlagen. > java.io.IOException: com.android.ide.common.process.ProcessException:
Pablo Cegarra
Anstelle von "Kopieren" habe ich mich nur verschoben und bei Verwendung dieses Vorgangs hatte ich nach dem Wiederherstellen keine Fehler.
Cavaleiro
48
  1. Gehen Sie zu Ihrer AndroidManifest.xml-Datei.
  2. Platzieren Sie Ihren Cursor wie unten gezeigt im Paketnamen. Wählen Sie es nicht aus, sondern platzieren Sie es einfach.

    Geben Sie hier die Bildbeschreibung ein

  3. Drücken Sie dann Shift+. F6Sie erhalten ein Popup-Fenster, wie unten gezeigt. Wählen Sie Paket umbenennen .

    Geben Sie hier die Bildbeschreibung ein

  4. Geben Sie Ihren neuen Namen ein und wählen Sie Refactor . (Da sich mein Cursor auf "etwas" befindet, wird nur etwas umbenannt.)

Das war's.

priwiljay
quelle
1
Dank der Arbeit an Android Studio 1.5.1 wird das Paket automatisch geändert. Es ist nicht erforderlich, ein neues Paket zu erstellen und Dateien per Drag & Drop zu verschieben und das alte Paket zu löschen. Blah Blah Blah
Shan Xeeshi
@ Prince Jayakumar, Ihre Aussage "Nicht auswählen, nur platzieren" ist verwirrend. Nur durch Platzieren des Mauszeigers funktioniert shft + f6 nicht. Wenn sich das Caret an einer anderen Stelle in der Datei befindet, müssen Sie auf den Paketnamen klicken, dann funktioniert shft + f6
Prabs
Einfachste Möglichkeit, den Paketnamen zu ändern!
Timo Schuck
Perfekt funktioniert auf Android Studio 3.5
Abigail La'Fay
Vollständige Umbenennung von Paket und App-ID in möglichst wenigen Schritten! Vielen Dank.
user1608385
43

Klicken Sie im Projektfenster mit der rechten Maustaste auf das Paket .

Wählen Sie im Kontextmenü Refactor -> Rename.

GreyBeardedGeek
quelle
1
Das hat super funktioniert für mich, musste auch die AndroidManifest-Datei aktualisieren.
Physphil
115
Refactor> Rename erlaubt mir nur, den letzten Teil des Pakets umzubenennen, z. B. die App in com.example.mypackage.app
GilliMonsta
1
Ich habe es so gemacht, aber jetzt heißt es, dass die Klasse zum Startzeitpunkt nicht existiert. Wie haben Sie es umbenannt?
Dharmik
Ich habe das Hauptmenü "Refactor" verwendet und klicke auf "Umbenennen".
Codebeat
@ GilliMonsta Sie können Ihren App-Ordner in den Einstellungen für das Klicken auf der rechten Seite auswählen und das Kontrollkästchen Compact Empty Middle Packages
Taranmeet Singh
25
  1. Öffne die Datei:

    App → Manifeste → AndroidManifest.xml

    Geben Sie hier die Bildbeschreibung ein

    Markieren Sie jeden Teil im Paketnamen, den Sie ändern möchten (markieren Sie nicht den gesamten Paketnamen), und gehen Sie dann wie folgt vor:

    • Klicken Sie mit der rechten Maustaste auf die Maus → Refactor → Umbenennen → Paket umbenennen
    • Geben Sie den neuen Namen ein und drücken Sie (Refactor)

    Führen Sie diese Schritte in jedem Teil des Paketnamens aus.

    Geben Sie hier die Bildbeschreibung ein

  2. Öffnen (Gradle Script) >> (build.gradle (Modul: App))

    und aktualisieren Sie die applicationId auf Ihren Paketnamen

    Geben Sie hier die Bildbeschreibung ein

  3. Öffnen Sie das Menü (Build) und wählen Sie (Projekt neu erstellen).

Alhamdi
quelle
Ich habe es versucht und bin auf einen Haken gestoßen. Ich versuche, das com.example.android.package in meine eigene Domain zu ändern (die .net beendet). Ich kann 'Beispiel' und 'Paket' ändern, aber ich kann das 'com' nicht ändern. Es werden auch keine Verzeichnisse umbenannt. Irgendwelche Tipps?
Rob Rose
@ RobertRose, ich habe eine Lösung für Ihr Problem. Arbeiten Sie noch daran?
Das Original Android
Ich legte es beiseite und ging einfach voran und ließ es. Es ist keine Produktion. Was haben Sie sich zum späteren Nachschlagen ausgedacht?
Rob Rose
1. funktioniert nicht, wenn ich "xxx.mydomain.com" Art von Paket habe)
Jemshit Iskenderov
wunderschönen. Die zweiten Schritte sind wichtig und werden normalerweise in den meisten Antworten überprüft.
AlleyOOP
16

IntelliJ IDEA verfügt über eine Option namens "Compact Empty Middle Packages". Wählen Sie das Optionssymbol auf der Registerkarte Projekt und deaktivieren Sie dieses.

Siehe: Wie kann ich den Paketnamen der obersten Ebene in IntelliJ IDEA ändern?

Matus F.
quelle
1
Das war nützlich. Nach dem Deaktivieren dieser Funktion waren die Dinge viel klarer und ich konnte leere Pakete löschen
Chris Nevill
@ChrisNevill und wie hast du diese leeren Pakete bitte gelöscht?
Beretis
Ich glaube, ich habe sie gerade ausgewählt und auf Löschen geklickt. Ich kann das Problem im Moment nicht reproduzieren und kann mich daher nicht genau daran erinnern.
Chris Nevill
Ich stimme zu, das war wirklich nützlich. Sollte in allen unterdurchschnittlichen Antworten enthalten sein, die ich zu diesem Thema gesehen habe.
iaindownie
16

Wählen Sie das Paket aus, das überarbeitet werden soll. RefactorVerschieben"xxx in neues Paket verschieben" .

Schrei
quelle
Dies ist eine einfache Methode
Droidenkind
4
Funktioniert nicht, hat mein Paket von "com.company.oldname" in "com.company.newname.oldname" geändert. Sehen? Diese Methode erlaubt es nicht, die letzte Komponente des Namens zu ändern (und ich habe es mehrmals versucht).
Jose Manuel Abarca Rodríguez
13

Ich habe die am besten bewerteten Antworten gesehen, aber ich fand, dass es ein bisschen anders ist, dies zu tun. Ich versuche, das vollständigste Tutorial zu machen.

Klicken Sie im Android Studio auf das Zahnradsymbol ( Zahnradsymbol) und wählen Sie dann die Option : "Compact Empty Middle Packages", um die Ordner in einer Baumansicht getrennt anzuzeigen.

Einführung in die Beschreibung des Imagens aquí

Wählen Sie nun den Ordner aus, klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen, wählen Sie Refactorund dannRename

Einführung in die Beschreibung des Imagens aquí

Es wird empfohlen, das Paket umzugestalten:

Einführung in die Beschreibung des Imagens aquí

Dann zeigt ein Fenster die Zufälle innerhalb des Projekts. Wählen Sie "Do Refactor":

Einführung in die Beschreibung des Imagens aquí

Wir müssen die Dateien AndroidManifest.xml oder build.gradle nicht manuell ändern. Das Refactoring des Pakets erledigt den Job!.

Jorgesys
quelle
8

Wenn Ihr Paketname beispielsweise mehr als zwei Punkte voneinander entfernt ist com.hello.world, haben Sie nichts in com/und eingegeben com/hello/. In all Ihren Klassen com/hello/world/können Sie die folgenden Schritte ausführen, um Ihre Paketnamen in Android Studio oder IntelliJ umzugestalten:

  • [ZUERST] Fügen Sie etwas unter Ihren Verzeichnissen hinzu ( com/, com/hello/). Sie können dies erreichen, indem Sie zunächst zwei Dateien zum Paket com.hello.world hinzufügen
   com.hello.world.PackageInfo1.java
   com.hello.world.PackageInfo2.java

Umgestalten Sie sie dann, indem Sie sie auf com bzw. com.hello verschieben. Sie werden sehen, dass com und com.hello dort im Projekt sitzen ( Alt+1 oder Command+1für eine Verknüpfung) und Verzeichnisse umbenennen. Refactoring wartet dort wie erwartet.

  • Refactor, um eines oder mehrere dieser Verzeichnisse umzubenennen, um Ihr Ziel zu erreichen. Das einzige, was Sie hier beachten sollten, ist, dass Sie die Verzeichnisse anstelle von Paketen auswählen müssen, wenn Sie in einem Dialogfeld gefragt werden.

  • Wenn Ihr Projekt viele Klassen enthält, dauert es eine Weile, bis Sie auf das automatische Scannen und Umbenennen warten.

  • Außerdem müssen Sie den Paketnamen in der Datei AndroidManifest.xml manuell umbenennen, damit andere Namen in dieser Datei das Präfix nutzen können.

  • [AUCH] Möglicherweise müssen Sie alle com.hello.world.Rdurch neue ersetzenXXX.XXX.XXX.R ( Command+Shift+Rkurz)

  • Erstellen Sie Ihr Projekt neu und führen Sie es aus, um festzustellen, ob es funktioniert. Verwenden Sie "In Pfad suchen", um andere berührungslose Namen zu finden, die Sie umbenennen möchten.

  • Geniesse es.
Dongxu
quelle
6

Gehen Sie unbedingt zu Sheharyars großartiger Antwort . Es folgen so viele Antworten und Kommentare, dass es leicht wäre, verwirrt zu werden und aufzugeben, aber nicht . Diese Antwort funktioniert .

Kurz gesagt, Sie machen drei Dinge :

(1) Abwählen Compact Empty Middle Packages .

(2) Refactordann Renamejeden alten Verzeichnisknoten durch Auswahl Change Package( nicht Change Directory ), um dem neuen Paketnamen zu entsprechen. (Stellen Sie sicher, dass Sie eine Vorschau der Änderungen erstellen.)

(3) Bearbeiten Sie die build.gradleDatei und APPLICATION_IDpassen Sie sie an den neuen Paketnamen an.

DSlomer64
quelle
3
Wer dies wirklich herabgestuft hat, vermisst etwas, da meine Antwort eine Zusammenfassung von Sheharyars Antwort ist, die 332 UPVOTES erhalten hat, und alles, was ich getan habe, war es zu vereinfachen, da es so kompliziert aussieht (es ist nicht so). Der Nerv einiger kurzsichtiger, triggerfreudiger Menschen. Würde gerne Grund zur Ablehnung sehen. Habe keinen Zweifel, ich werde es nicht sehen.
DSlomer64
OK. Ab 3,5 Jahren kann ich vielleicht sehen, warum die Downvotes möglicherweise abgegeben wurden, da es möglicherweise nicht ganz klar war, wie es war (aber etwas lockerer!), Aber dank @Peter Mortensens zweitägiger Aktion ist es jetzt sicher -old edit und meins gerade jetzt.
DSlomer64
5

Aktualisierte Antwort: Mai 2015

OK, ich hatte Probleme mit dem Klonen und Umbenennen von Projekten in Android Studio, aber schließlich habe ich es erreicht. Hier sind die folgenden Schritte:

  1. Kopieren Sie den Projektordner, benennen Sie ihn um und öffnen Sie ihn mit Android Studio
  2. Benennen Sie das Modulverzeichnis vom Explorer um
  3. Benennen Sie projectName.iml und content um
  4. Idee / .name Inhalt umbenennen
  5. Klicken Sie in Ihrem Projektfenster auf das kleine Zahnradsymbol -> deaktivieren Sie "Kompaktes leeres Mittelpaket".
  6. Refactor src-Verzeichnisse für neuen Paketnamen (Paket umbenennen, "Verzeichnis nicht umbenennen")
  7. Benennen Sie in build.gradle die Anwendungs-ID um
  8. settings.gradle Modul umbenennen

Das ist es...

Sebastian Breit
quelle
5

Ich habe eine einfachere Lösung für dieses Problem gefunden, die auch die generierten Importe wie verändert hat com.test.testpackagechange.R und nur etwa eine Minute dauert.

Der erste Schritt besteht darin, Android Studio zu öffnen und das Fenster "Alle ersetzen" zu öffnen (Mac: cmd + Shift + R, Windows: Strg + Shift + R). Geben Sie Ihren alten Paketnamen und den unter Ihrem neuen Paketnamen ein. Klicken Sie auf Suchen. Dies kann eine Weile dauern, da auch die generierten Elemente durchsucht werden. Wenn es mehr als 1000 Treffer hat, klicken Sie einfach auf Weiter.

Geben Sie hier die Bildbeschreibung ein

Nachdem Sie dies getan haben, klicken Sie auf Alle ersetzen, um Ihren alten Paketnamen durch Ihren neuen zu ersetzen.

Geben Sie hier die Bildbeschreibung ein

Schließen Sie nun Android Studio und gehen Sie zu Finder unter Mac oder Windows Explorer unter Windows. Ändern Sie den Namen der Ordner wie folgt in Ihren neuen Paketnamen:

Geben Sie hier die Bildbeschreibung ein

Öffnen Sie jetzt Android Studio erneut. Gradle wird synchronisiert und Ihr Paketname sollte in den neuen geändert werden.

Ich habe festgestellt, dass dies die einfachste ist und alle Bereiche wie generierte Dateien abdeckt.

Kevin van Mierlo
quelle
5

Der häufigste Fehler, den man machen kann, ist, dass man die Paketstruktur nicht umbenennen kann, dh es ist nicht möglich, com.name.android in com.Renamed.android zu ändern , wenn man versucht, com.name.android zu ändern Ebene .

Um die gleiche gewünschte Änderung zu erhalten, gehen Sie eine Ebene höher , dh com.name, und ändern Sie sie hier, wenn Sie sie umgestalten, in Umbenannt . Das wird immer funktionieren.

Shivanand T.
quelle
5

Ich habe einen anderen Weg gefunden, der funktioniert, oder einen zusätzlichen Schritt zu einigen der Antworten hier, insbesondere wenn Sie auch die Domain ändern möchten. Es funktioniert in Android Studio 1.4. Das habe ich getan:

  1. Öffnen Sie Manifest.xml und ändern Sie den Paketnamen nach Ihren Wünschen.
  2. Öffnen Sie Ihre App- build.gradleDatei und ändern Sie die Anwendungs-ID in defaultConfig in denselben Namen wie im Manifest. Erstellen Sie das Projekt neu.
  3. Wenn immer noch ein Problem auftritt, öffnen Sie eine Datei unter dem Paketnamen, gehen Sie zu den Paket-Breadcrumbs (dh der Paketdeklaration am Kopf der Datei) und setzen Sie den Cursor auf die Domäne, die Sie ändern möchten, und drücken Sie "Umschalt + F6" Klicken Sie in einem Dialogfeld mit Warnungen zur Mehrfachverwendung auf "Pakete umbenennen" und dann auf "Refactor ausführen". Es sollte alles umbenennen, einschließlich der R.Java-Dateien.

Wenn Sie beispielsweise "com.example.app" in "com.YourDomain.app" umbenennen möchten, öffnen Sie eine Datei unter dem umzubenennenden Paket und setzen Sie den Cursor in den Paket-Breadcrumbs auf "Beispiel" der Domäne und drücke Shift+ F6und benenne das Paket in "YourDomain" um.

irobotxx
quelle
5
  1. Wählen Sie den Paketnamen im Java-Ordner.
  2. Shift+F6
  3. Ändern Sie den Paketnamen und klicken Sie auf OK.

Ihr Paketname wird aus allen Java-Dateien und der Manifestdatei geändert. Sie müssen den Paketnamen von manuell ändern build.gradle.

himanshu.tiwari
quelle
1
Wenn Shift + F6 für Sie nicht funktioniert, können Sie Alt + Shift + R verwenden, um das Paket zu überarbeiten. Der Rest des Verfahrens ist der gleiche
gefangene Ausnahme
5

Ändern Sie den Paketnamen


Um Ihren Paketnamen umzubenennen, müssen Sie nur zu Ihrer AndroidManifest.xmlDatei gehen und den Mauszeiger vor den Teil des Paketnamens setzen, den Sie ändern möchten.


Geben Sie hier die Bildbeschreibung ein


Klicken Sie mit der rechten Maustaste> Refactor> Umbenennen


Geben Sie hier die Bildbeschreibung ein


Drücken Sie im neuen Fenster auf Paket umbenennen


Geben Sie hier die Bildbeschreibung ein


Ändern Sie den Namen und drücken Sie Refactor


Geben Sie hier die Bildbeschreibung ein


… Und drücken Sie unten Do Refactor.


Geben Sie hier die Bildbeschreibung ein


Ihr Paketname hat normalerweise das Format com.domain.appname. In diesem Beispiel haben wir den Appname-Teil geändert, aber Sie können die gleichen Schritte auch für die Domain ausführen.

Erledigt! Sie haben Ihren Paketnamen geändert!

Vishrut Mavani
quelle
4

Ich habe die beiden am besten bewerteten Lösungen ausprobiert, aber einige Probleme festgestellt, obwohl beide in gewissem Maße funktionieren.

  • Listenelement: Die neue Paket-Drag-Drop-Methode lässt einige unverändert und erzeugt einige unerwünschte Effekte
  • Listenelement: Das Umbenennungspaket ändert nur den letzten Teil des Paketnamens

Nach einigen Experimenten stellte ich fest, dass die folgende Methode für mich gut funktioniert.

Wenn Sie nur den letzten Teil des Paketnamens ändern müssen, verwenden Sie die von GreyBeardedGeek beschriebene Methode

Klicken Sie im Projektbereich mit der rechten Maustaste auf das Paket. Wählen Sie im Kontextmenü Refactor -> Rename

Wenn Sie den gesamten Paketnamen ändern müssen, gehen Sie wie folgt vor.

Klicken Sie im Projektbereich mit der rechten Maustaste auf das Paket. Wählen Sie im Kontextmenü Refactor -> Move

Dadurch wird ein neuer Paketordner erstellt (falls erforderlich), der letzte Teil Ihres Paketnamens bleibt jedoch wie zuvor erhalten. Wenn Sie den letzten Teil ändern müssen, führen Sie die Umbenennung entsprechend durch.

Beachten Sie auch, dass Sie möglicherweise Paketnamen in z. B. build.gradle-, manifest- und / oder XML-Ressourcendateien oder sogar in Ihrem Code ändern müssen, wenn diese fest codiert sind. Führen Sie danach das Projekt nach Bedarf aus, um es zu synchronisieren, zu bereinigen oder neu zu erstellen.

ssgg Google Developer Platform
quelle
4

So benennen Sie um com.example.appin com.android.app:

  1. im Paket com.example.appBeispiel auswählen

  2. Shift + F6

  3. wählen rename package

  4. Beispiel in Android umbenennen

  5. bestätigen do refactor

Andrew Glukhoff
quelle
4

Klicken Sie mit der rechten Maustaste auf Paket -> Refactor und ändern Sie den Namen.

Sie können es auch im Manifest ändern. Wenn Sie den Paketnamen ändern, wird nach dem Erstellen der APK-Datei manchmal ein anderer Paketname angezeigt. Überprüfen Sie zu diesem Zeitpunkt "applicationId" in der Datei build.gradle .

rajlaxmi_jagdale
quelle
4

Ich empfehle die Verwendung von Sublime Text (oder Notepad ++) ) zu verwenden. Ersetzen Sie com.one.lastname -> com.two.newname und com / one / lastname -> com / two / newname in ... \ Projects [MyProject]. und vergessen Sie nicht, ... \ Projects \ MyProject \ app \ src \ main \ java \ com \ one \ lastname umzubenennen, ... \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname und ... \ Projects \ MyProject \ app \ src \ androidTest \ java \ com \ one \ lastname!

Das ist alles:)

Bildschirmfoto

Ярослав Нестеров
quelle
3

Ich glaube, was Sie suchen, ist Refactor> Move. Sie können auch F6 drücken.

Sie erhalten zwei Popups. Stellen Sie sicher, dass Sie auf beiden die Option Paket umbenennen auswählen. Danach erhalten Sie ein Popup, in dem Sie den neuen Paketnamen platzieren können.

Beachten Sie, dass Sie com.example.android in etwas anderes ändern können, wenn Ihr Paketname beispielsweise com.example.android.projectname lautet.

Außerdem wird dadurch die applicationId in Ihrem build.gradle aktualisiert. Stellen Sie einfach sicher, dass die Kontrollkästchen für "Suche in Kommentaren und Zeichenfolgen" und "Suche nach Textvorkommen" aktiviert sind, damit dies funktioniert.

Phxhawke
quelle
3

Schneller und einfacher Weg:

1- Öffnen Sie eine MainActivity.javaoder eine verfügbare Java-Datei.

Oben befindet sich die Paketdeklaration wie:

Paket com. example.meine App;

Wählen Sie den Paketteil aus, den Sie ändern möchten, und drücken Sie Umschalt + F6 . Ich persönlich möchte das ändern example.

Wählen Sie im Warndialog Paket umbenennen und geben Sie den gewünschten Paketnamen ein.

2- Öffnen Sie das Tag AndroidManifest.xmlund öffnen Sie das <manifest>Tag packagein den gewünschten Paketnamen.

3- Öffnen Sie den gewünschten Paketnamen build.gradle(Module: app)und ändern Sie ihn applicationId.

Darush
quelle
Vielen Dank. Es ist ganz einfach und unkompliziert.
Ishwor Khanal
3
  1. Wähle eine Option Geben Sie hier die Bildbeschreibung ein

  2. Deaktivieren Sie die Option Kompakte leere mittlere Pakete.

  3. Wählen Sie das Verzeichnis aus, das Sie ändern möchten (ich habe in Schritt 6 die Option 'crl' ausgewählt).
  4. Shift+F6
  5. Paket umbenennen
  6. Umbenennen des Verzeichnisses crl in crl1 Geben Sie hier die Bildbeschreibung ein

  7. Klicken Sie abschließend auf die Schaltfläche "Refactor Geben Sie hier die Bildbeschreibung ein ausführen", die im Bild unten markiert ist. Geben Sie hier den Code ein

  8. Nach vorgenommenen Änderungen Geben Sie hier die Bildbeschreibung ein

Shiv Buyya
quelle
3

Bitte versuchen Sie die folgenden Schritte:

  1. Klicken Sie auf das Zahnradsymbol und deaktivieren Sie Compact Empty Middle Package
  2. Jetzt können wir sehen, dass jeder Paketordner in Teile zerlegt ist
  3. Klicken Sie nun mit der rechten Maustaste auf den ersten Paketordner >>> refactor >>> umbenennen
  4. Jetzt wird eine Warnung angezeigt, aber Sie klicken auf Paket umbenennen
  5. Geben Sie danach Ihren Domainnamen als Paketnamen ein
  6. Klicken Sie auf "Refactor ausführen".
  7. Jetzt hat es den Paketdomänennamen der App geändert. Ändern Sie nun die Domain-Endung und den Namen des App-Ordners entsprechend Ihren Anforderungen
  8. Öffnen Sie nun build.gradle (Modul: App) in Gradle Scripts. Ändern Sie hier die Anwendungs-ID und klicken Sie auf Jetzt synchronisieren.

******* Endlich ist es geschafft ******

Joseph Mathew
quelle
3
  1. Drücken Sie Ctrl+ Shift+R

  2. Ersetzen Sie das alte Paket durch das neue.

  3. Klicken Sie mit der rechten Maustaste auf den Paketnamen.

  4. Refactor> Renameund umbenennen in die neue

Bob
quelle
3

ctrl+ Shift+ RHat sich für mich immer gearbeitet. Einfach replace allund wählen All Files.

Amir
quelle
Dies wird keine Verzeichnisse aktualisieren und es wird keine Ihrer Klassen finden
John Ktejik
3
  • Der erste Teil besteht darin, ein neues Paket unter javaOrdner zu erstellen und alle Ihre Quelldateien auszuwählen und dann von dort old packagein diesen zu ziehen new package. Danach müssen Sie remaneden Paketnamen in Android manifestauf den Namen des neuen Pakets setzen.

  • In Schritt 2 müssen Sie Folgendes tun: Sie müssen den alten Paketnamen applicationIdunter dem Modul build.gradlein Ihrem Android Studio sowie den Paketnamen in ändern manifest. Klicken Sie also zusammenfassend auf build.gradle"AndroidManifest.xml" und ändern Sie den Wert von applicationIdin Ihren neuen Paketnamen.

  • Dann ganz oben unter build. cleanIhr Projekt also rebuild. Von hier aus sollte es in Ordnung sein.

user3295929
quelle
3

Am besten schreiben Sie den neuen Paketnamen und ziehen ihn aus dem älteren Paketnamen.

Wenn Sie zweitens auf Refactor klicken und dann die Option verschieben und dann den Paketnamen umbenennen, wird der Paketname umbenannt und anschließend neu erstellt.

In Build.gradle müssen Sie dies manuell tun. Wenn Sie Refactor verwenden, wird es in Build.gradle nicht umbenannt.

Ajay Keshri
quelle