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.
android-studio
ramzixp
quelle
quelle
Antworten:
In Android Studio können Sie Folgendes tun:
Wenn Sie beispielsweise zu ändern möchten, gehen Sie wie folgt
com.example.app
vormy.awesome.game
:Klicken Sie in Ihrem Projektfenster auf das kleine Zahnradsymbol ( )
Deaktivieren / Deaktivieren Sie die
Compact Empty Middle Packages
OptionIhr Paketverzeichnis wird nun in einzelne Verzeichnisse aufgeteilt
Wählen Sie jedes Verzeichnis, das Sie umbenennen möchten, einzeln aus und:
Refactor
Rename
Rename Package
Popup -Dialogfeld auf anstelle von Verzeichnis umbenennencom
in Android Studio wird möglicherweise eine Warnung ausgegeben. Wählen Sie in diesem Fall Alle umbenennenÖffnen Sie nun Ihre Gradle Build-Datei (
build.gradle
- Normalerweiseapp
odermobile
). Aktualisieren Sie dasapplicationId
indefaultConfig
Ihrem neuen Paketnamen und synchronisieren Sie Gradle, falls es noch nicht automatisch aktualisiert wurde:Möglicherweise müssen Sie das
package=
Attribut in Ihrem Manifest ändern .Reinigen und neu aufbauen.
Erledigt! Auf jeden Fall muss Android Studio diesen Vorgang etwas vereinfachen.
quelle
com.example.test
aufcom.example
und löschencom.example.test
.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 → Neu → Paket 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.
quelle
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:
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
quelle
com.example.sample
umcom.example
mit anderen AntwortenDer 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
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
Schritt 3 : Geben Sie Ihren neuen Paketnamen ein
Schritt 4 : Kopieren Sie alle Dateien aus Ihrem alten Paket und fügen Sie sie in das neue Paket ein
Schritt 5 : Benennen Sie den Paketnamen in der Manifestdatei um
Schritt 6 : Benennen Sie den Paketnamen in der Datei build.gradle um
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
Schritt 8 : Erstellen Sie dann Ihr Projekt neu
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
Schritt 10 : Dann erscheint ein Popup wie unten und wählen Sie die Option Alle Dateien
Schritt 11 : Erstellen Sie Ihr Projekt erneut, Bingo Ihr Projektpaketname wurde geändert :)
quelle
Platzieren Sie Ihren Cursor wie unten gezeigt im Paketnamen. Wählen Sie es nicht aus, sondern platzieren Sie es einfach.
Drücken Sie dann Shift+. F6Sie erhalten ein Popup-Fenster, wie unten gezeigt. Wählen Sie Paket umbenennen .
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.
quelle
Klicken Sie im Projektfenster mit der rechten Maustaste auf das Paket .
Wählen Sie im Kontextmenü Refactor -> Rename.
quelle
Öffne die Datei:
App → Manifeste → AndroidManifest.xml
Markieren Sie jeden Teil im Paketnamen, den Sie ändern möchten (markieren Sie nicht den gesamten Paketnamen), und gehen Sie dann wie folgt vor:
Führen Sie diese Schritte in jedem Teil des Paketnamens aus.
Öffnen (Gradle Script) >> (build.gradle (Modul: App))
und aktualisieren Sie die applicationId auf Ihren Paketnamen
Öffnen Sie das Menü (Build) und wählen Sie (Projekt neu erstellen).
quelle
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?
quelle
Wählen Sie das Paket aus, das überarbeitet werden soll. Refactor → Verschieben → "xxx in neues Paket verschieben" .
quelle
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 ( ) und wählen Sie dann die Option :
"Compact Empty Middle Packages"
, um die Ordner in einer Baumansicht getrennt anzuzeigen.Wählen Sie nun den Ordner aus, klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen, wählen Sie
Refactor
und dannRename
Es wird empfohlen, das Paket umzugestalten:
Dann zeigt ein Fenster die Zufälle innerhalb des Projekts. Wählen Sie
"Do Refactor"
:Wir müssen die Dateien AndroidManifest.xml oder build.gradle nicht manuell ändern. Das Refactoring des Pakets erledigt den Job!.
quelle
Wenn Ihr Paketname beispielsweise mehr als zwei Punkte voneinander entfernt ist
com.hello.world
, haben Sie nichts incom/
und eingegebencom/hello/
. In all Ihren Klassencom/hello/world/
können Sie die folgenden Schritte ausführen, um Ihre Paketnamen in Android Studio oder IntelliJ umzugestalten:com/
,com/hello/
). Sie können dies erreichen, indem Sie zunächst zwei Dateien zum Paket com.hello.world hinzufügenUmgestalten 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
oderCommand+1
fü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.R
durch neue ersetzenXXX.XXX.XXX.R
(Command+Shift+R
kurz)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.
quelle
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)
Refactor
dannRename
jeden alten Verzeichnisknoten durch AuswahlChange Package
( nichtChange Directory
), um dem neuen Paketnamen zu entsprechen. (Stellen Sie sicher, dass Sie eine Vorschau der Änderungen erstellen.)(3) Bearbeiten Sie die
build.gradle
Datei undAPPLICATION_ID
passen Sie sie an den neuen Paketnamen an.quelle
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:
Das ist es...
quelle
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.
Nachdem Sie dies getan haben, klicken Sie auf Alle ersetzen, um Ihren alten Paketnamen durch Ihren neuen zu ersetzen.
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:
Ö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.
quelle
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.
quelle
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:
build.gradle
Datei und ändern Sie die Anwendungs-ID in defaultConfig in denselben Namen wie im Manifest. Erstellen Sie das Projekt neu.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.
quelle
Ihr Paketname wird aus allen Java-Dateien und der Manifestdatei geändert. Sie müssen den Paketnamen von manuell ändern
build.gradle
.quelle
Ändern Sie den Paketnamen
Um Ihren Paketnamen umzubenennen, müssen Sie nur zu Ihrer
AndroidManifest.xml
Datei gehen und den Mauszeiger vor den Teil des Paketnamens setzen, den Sie ändern möchten.Klicken Sie mit der rechten Maustaste> Refactor> Umbenennen
Drücken Sie im neuen Fenster auf Paket umbenennen
Ändern Sie den Namen und drücken Sie Refactor
… Und drücken Sie unten Do Refactor.
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!
quelle
Ich habe die beiden am besten bewerteten Lösungen ausprobiert, aber einige Probleme festgestellt, obwohl beide in gewissem Maße funktionieren.
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.
quelle
So benennen Sie um
com.example.app
incom.android.app
:im Paket
com.example.app
Beispiel auswählenShift + F6
wählen
rename package
Beispiel in Android umbenennen
bestätigen
do refactor
quelle
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 .
quelle
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:)
quelle
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.
quelle
Schneller und einfacher Weg:
1- Öffnen Sie eine
MainActivity.java
oder eine verfügbare Java-Datei.Oben befindet sich die Paketdeklaration wie:
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.xml
und öffnen Sie das<manifest>
Tagpackage
in den gewünschten Paketnamen.3- Öffnen Sie den gewünschten Paketnamen
build.gradle(Module: app)
und ändern Sie ihnapplicationId
.quelle
Wähle eine Option
Deaktivieren Sie die Option Kompakte leere mittlere Pakete.
Umbenennen des Verzeichnisses crl in crl1
Klicken Sie abschließend auf die Schaltfläche "Refactor ausführen", die im Bild unten markiert ist. Geben Sie hier den Code ein
Nach vorgenommenen Änderungen
quelle
Bitte versuchen Sie die folgenden Schritte:
******* Endlich ist es geschafft ******
quelle
Drücken Sie Ctrl+ Shift+R
Ersetzen Sie das alte Paket durch das neue.
Klicken Sie mit der rechten Maustaste auf den Paketnamen.
Refactor
>Rename
und umbenennen in die neuequelle
ctrl+ Shift+ RHat sich für mich immer gearbeitet. Einfach
replace all
und wählenAll Files
.quelle
Der erste Teil besteht darin, ein neues Paket unter
java
Ordner zu erstellen und alle Ihre Quelldateien auszuwählen und dann von dortold package
in diesen zu ziehennew package
. Danach müssen Sieremane
den Paketnamen in Androidmanifest
auf den Namen des neuen Pakets setzen.In Schritt 2 müssen Sie Folgendes tun: Sie müssen den alten Paketnamen
applicationId
unter dem Modulbuild.gradle
in Ihrem Android Studio sowie den Paketnamen in ändernmanifest
. Klicken Sie also zusammenfassend aufbuild.gradle
"AndroidManifest.xml" und ändern Sie den Wert vonapplicationId
in Ihren neuen Paketnamen.Dann ganz oben unter
build
.clean
Ihr Projekt alsorebuild
. Von hier aus sollte es in Ordnung sein.quelle
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.
quelle