Ändern Sie den Paketnamen einschließlich der Unternehmensdomäne vollständig

81

Nehmen wir an, dies ist der Paketname : package com.company.name. Wie ändere ich mich company?

PS Ich habe gesehen, wie man sich ändert, nameaber nicht company. Ich benutze Android Studio.

Filip Luchianenco
quelle
Ich habe angefangen, ein Projekt zu machen, und ich muss das companyWort mit einem anderen ändern , weil dieses Projekt für ein Unternehmen ist. und warum Löschtaste verwenden? wo?
Filip Luchianenco
2
Mögliches Duplikat des Android Studio Rename Package
Bo Persson
Erstellen Sie einfach ein neues Paket, wählen Sie dann die Klassen aus, die Sie verschieben möchten, und ziehen Sie es per Drag & Drop in das neu erstellte Paket. Refactor, diese Arbeit für mich
Manee.OH

Antworten:

48

Du kannst das:

Ändern Sie den Paketnamen manuell in der Manifestdatei. Klicken Sie auf Ihre R.java-Klasse und drücken Sie F6 (Refactor-> Move ...). Sie können die Klasse in ein anderes Paket verschieben, und alle Verweise auf diese Klasse werden aktualisiert.

Referenz: Wie benenne ich den Namen des Android-Pakets um?

Viel Filip
quelle
48

aktuelles Paket: com.company.name

Neues Paket: com.mycomapny.name

Schritte: 1) Angenommen, Sie befinden sich in diesem Bildschirm, der unten gezeigt wird.

Geben Sie hier die Bildbeschreibung ein

2) Öffnen Sie den Projektbereich und klicken Sie auf das Einstellungssymbol.

3) Deaktivieren Sie Compact Empty Middle Packages.

4) Dann wird Ihr Paket nun wie unten gezeigt in einzelne Teile zerlegt.

5) Klicken Sie mit der rechten Maustaste auf "Firma", wählen Sie Refactor -> wählen Sie Umbenennen -> Verzeichnis umbenennen.

Geben Sie hier die Bildbeschreibung ein

6) Jetzt wurde Ihre "Firma" in neue "mycomapny" geändert und die Änderungen wurden wie in der folgenden Abbildung gezeigt wiedergegeben.

Geben Sie hier die Bildbeschreibung ein

7) Ändern Sie nun den Paketnamen in der Datei AndroidManifest.xml.

Geben Sie hier die Bildbeschreibung ein

8) Öffnen Sie build.gradle auf App-Ebene und ändern Sie den Paketnamen.

Geben Sie hier die Bildbeschreibung ein

9) Sie erhalten Fehler, da das Symbol "R" nicht aufgelöst werden kann.

10) Entfernen Sie die Zeile, die diesen Fehler verursacht, und Studio importiert automatisch eine neue R-Datei.

11) Wenn Sie mehrere Dateien haben, verwenden Sie die Option Suchen und Ersetzen durch Drücken von "Strg + Umschalt + R".

Oder "Wählen Sie Bearbeiten-> Suchen-> Im Pfad ersetzen."

Geben Sie hier die Bildbeschreibung ein

12) Wählen Sie Alle ersetzen.

Janardhan R.
quelle
31

Dies funktionierte für mich unter https://stackoverflow.com/a/18637004/127434

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. AndroidStudio wird den Paketnamen überall umgestalten.

Löschen Sie abschließend das alte Paket.

cja
quelle
Dies hat teilweise bei mir funktioniert, aber die Anweisungen "import com.company.foo" wurden nicht behoben. Letzteres konnte ich mit einem globalen Ersatz im Verzeichnis src / tun.
LarsH
9

In Android Studio können Sie Folgendes tun:

Wenn Sie beispielsweise com.example.app in iu.awesome.game ändern möchten, gehen Sie wie folgt vor:

  1. Klicken Sie in Ihrem Projektfenster auf das kleine Zahnradsymbol ( Geben Sie hier die Bildbeschreibung ein)
  2. Deaktivieren / deaktivieren Sie die Option Kompakte leere mittlere Pakete Geben Sie hier die Bildbeschreibung ein
  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 Sie Refactor

    • Klicken Sie auf Umbenennen

    • Klicken Sie im Popup-Dialogfeld auf Paket umbenennen 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 von com in Android Studio wird möglicherweise eine Warnung ausgegeben. Wählen Sie in diesem Fall Alle umbenennenGeben Sie hier die Bildbeschreibung ein

      1. Öffnen Sie nun Ihre Gradle-Build-Datei (build.gradle - Normalerweise App oder Handy). Aktualisieren Sie die Anwendungs-ID in der defaultConfig auf Ihren neuen Paketnamen und synchronisieren Sie Gradle, falls diese noch nicht automatisch aktualisiert wurde:Geben Sie hier die Bildbeschreibung ein

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

      3. Reinigen und neu aufbauen.

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

ibad ur rahman
quelle
8

Die Lösung von @Luch Filip funktioniert gut, wenn Sie nur das App-Paket umbenennen möchten. In meinem Fall möchte ich auch das Quellpaket umbenennen, um die Dinge nicht zu verwirren.

Es sind nur 2 Schritte erforderlich:

  1. Klicken Sie auf Ihren Quellordner, zB com.company.example> Umschalt + F6 (Refactor-> Umbenennen ...)> Paket umbenennen > geben Sie Ihren gewünschten Namen ein.

  2. Gehen Sie zu Ihrer AndroidManifest.xml, klicken Sie auf Ihren Paketnamen> Umschalt + F6 (Refactor-> Umbenennen ...)> geben Sie denselben Namen wie oben ein.

In Schritt 1 wird Ihr R.java-Ordner automatisch umbenannt, und Sie können sofort erstellen.

Teelöffel
quelle
Alles gut, außer dass ich "IOException: kann nicht umbenennen (...)" für den Hauptquellordner bekomme. Einfaches Projekt, gerade eröffnet.
Kaay
1
Ich benutze Android Studio 2.1.1. Mein spezifisches Zum Beispiel habe info.apachehive.cardviewich zuerst , ich möchte haben net.vyhn.cardview. Schritt 1. Wählen Sie den Quellcode der Baumansicht. Schritt 2. Klicken Sie auf apachehiveund drücken Sie Umschalt + F6 Refactor \ Umbenennen in vyhn. Schritt 3. Klicken Sie auf infoOrdner und drücken Sie Umschalt + F6 Refactor \ Umbenennen in net. Datei AndroidManifest.xmlautomatisch ändern. Dann starte ich Debug, meine Anwendung funktioniert gut.
Do Nhu Vy
5

Nachfolgend sind vier Schritte aufgeführt:

  1. Klicken Sie unten auf den App-Ordner:

Geben Sie hier die Bildbeschreibung ein

com.new25.impro. Drücken Sie Umschalt + F6 {Refactor-> Umbenennen ...} , um das Paket umzubenennen, und drücken Sie refactor.

  1. Danach sehen Sie den Android-Monitor. Diese Show ändert sich überall in diesem Paketnamen. Klicken Sie auf refactor.

  2. Gehen Sie zum Modul, um app:changedie Anwendungs-ID für Sie wie diesen Namen zu setzen. und klicken Sie auf sync now.

  3. Jetzt können Sie den Paketnamen nach Ihren Wünschen ändern.

Saravanakumar Gopal
quelle
2

1) Öffnen Sie den Projektordner in Android Studio.
2) Wählen Sie den App-Ordner -> Rechtsklick und wählen Sie Refactor .
3) Klicken Sie auf Verschieben. Es wird zu fragen , zu welchem Paket Nameart Sie volle Paketnamen besitzen und es wird bitten , ein neues Paket ja schaffen , um neue automatisch bitten , es für gradlezu sync.

Android Entwickler Vinod
quelle
Möglicherweise können Sie einige Screenshots hinzufügen.
Asim KT
2

Um den Paketnamen in Android Studio umzubenennen, klicken Sie auf das Einstellungssymbol im Projektabschnitt und deaktivieren Sie das Kontrollkästchen Leere mittlere Pakete kompakt. Danach wird das Paket in mehrere Ordnernamen aufgeteilt. Klicken Sie dann mit der rechten Maustaste auf den Ordner, den Sie ändern müssen. Klicken Sie auf refactor-> Rename-> Geben Sie den Namen ein, den Sie ändern möchten -> Refactor -> Refactor Directory, und importieren Sie dann die R.java-Datei in das gesamte Projekt. Ich arbeite für mich.

Deepika Kapila
quelle
2

Ich habe fast alle Antworten gelesen. Aber ich denke einer fehlt. Manchmal kann ich mich irren. Ich habe die folgende Methode verwendet und es funktioniert.

3 Methoden zum Ändern des Paketnamens in Android Studio

  1. Wählen Sie Ihr Paket und die rechte Maustaste , Umgestalten -> Verschieben .
  2. Wählen Sie Paket von "Ihrem Paket" in ein anderes Paket verschieben und klicken Sie auf "OK".
  3. Ein neues Dialogfeld wird angezeigt, in dem mehrere Verzeichnisse dem Paket "Ihr Paket" entsprechen, und klicken Sie auf " Ja" .
  4. Geben Sie den neuen Paketnamen mit Ausnahme der letzten Ebene oder des Nachnamens ein. Mittel Wenn Sie den Paketnamen in "info.xyz.yourapplication" umbenennen möchten. Geben Sie dann "info.xyz" ein und lassen Sie "yourapplication".
  5. Klicken Sie auf Refactor .
  6. Ein neuer Dialog, Paket info.xyz , existiert nicht. Möchten Sie es erstellen?. Klicken Sie auf Ja .
  7. Klicken Sie auf Refactor ausführen .
  8. Klicken Sie mit der rechten Maustaste auf das neue Paket, um den Nachnamen zu ändern. Refactor-> Umbenennen .
  9. Paket umbenennen
  10. Geben Sie einen neuen Namen ein und klicken Sie auf Refactor ausführen .
  11. Löschen Sie alle alten Paketverzeichnisse.
  12. Ändern Sie die Anwendungs-ID in der Datei build.gradle und klicken Sie auf Jetzt synchronisieren
Jacob George
quelle
1
Für mich ist das die beste Antwort. Vielen Dank.
Hasan El-Hefnawy
1

Wenn der Name Ihrer Unternehmensdomäne / Ihres Pakets sehr lang ist, ist dies schwieriger.

Dies war das fehlende Glied für mich. Sie müssen Projektdateien -> Einstellungen -> auswählen und dann die Option "Kompakte leere Mittelklassen" deaktivieren.

DivineChaos
quelle
0

Der einfachste Weg , dies zu tun wäre , um die Root - App Ordner umbenennen com.example.MyAppzu com.newcompanyname.MyNewAppNameund dann alle Vorkommen des alten Pfades auf den neuen Pfad ersetzt in welcher IDE Sie verwenden.

Prof
quelle
0

Ich habe eine andere Lösung zum Umbenennen eines Pakets im gesamten Projekt gefunden:

Öffnen Sie eine Datei im Paket. IntelliJ zeigt die Breadcrumbs der Datei über der geöffneten Datei an. Auf dem Paket, das Sie umbenennen möchten: Klicken Sie mit der rechten Maustaste auf> Refactor> Umbenennen. Dadurch wird das Paket / Verzeichnis im gesamten Projekt umbenannt.

Thasneem
quelle
0

Ich hatte auch das gleiche Problem und hier ist, wie ich gelöst habe:

Ich möchte den Paketnamen np.com.shivakrstha.userlog in np.edu.khec.userlog ändern

Ich habe shivakrstha ausgewählt und Shift + F6 für Refame umbenennen gedrückt und in khec umbenannt .

Verwenden Sie schließlich denselben Paketnamen in AndroidManifest.xml , applicationId in build.gradle, und vergessen Sie nicht, Ihr Projekt neu zu erstellen .

Hinweis: - Ich habe versucht, np in jp zu ändern , also habe ich np ausgewählt und Umschalt + F6 gedrückt, um Refract umzubenennen und in jp umzubenennen. Es ist in Ordnung , auch andere zu ändern.

ersks
quelle
0

Dies könnte Ihnen helfen - 1) Öffnen Sie eine Datei Ihres Pakets. 2) Android Studio zeigt die Breadcrumbs der Datei über der geöffneten Datei an. Auf dem Paket, das Sie umbenennen möchten: Klicken Sie mit der rechten Maustaste auf> Refactor> Umbenennen.

Geben Sie hier die Bildbeschreibung ein

Bagesh Sharma
quelle
0

Ich habe keinen Paketnamen geändert. Die folgenden zwei Schritte haben bei mir funktioniert. Nachdem Sie die folgenden Schritte ausgeführt haben, wurde die Anwendung als NEUE installiert, obwohl zwei Anwendungen mit demselben Paketnamen vorhanden waren.

1) In der build.gradle

applicationId "mynew.mynewpackage.com"

2) In der AndroidManifest.xml android: behörden = "mynew.mynewpackage.com.fileprovider"

VARUN ISAC
quelle
-2

Hallo, ich habe den einfachsten Weg gefunden, dies zu tun.

  1. Erstellen Sie ein neues Projekt mit dem gewünschten Paketnamen
  2. Kopieren Sie alle Dateien vom alten Projekt in das neue Projekt (alle Dateien in old.bad.oldpackage => new.fine.newpackage, res => res)
  3. Kopieren Sie das alte build.graddle in das neue build.graddle
  4. Kopieren Sie das alte Manifest in das neue Manifest
  5. Sichern oder löschen Sie einfach ein altes Projekt

Erledigt!

Martin Jovial
quelle
Das ist nicht der zuverlässigste Weg. Einfaches Refactoring erledigt den Job. Stellen Sie sich vor, jemand hat ein komplexeres Projekt, das Stile, Dimensionen, Drawables und Bibliotheken hat. Diese Methode nimmt viel Zeit in Anspruch.
Amir Dora.
1
Es ist zuverlässig, wenn Sie meine Methode Schritt für Schritt befolgen, und es ist sehr schnell, wenn Sie sie befolgen. Vergessen Sie einfach die Komplexität und denken Sie daran, dass Sie ein neues Projekt aus einer vorhandenen Quelle erstellen. Da ich sehe, dass Sie nicht wissen, wo sich zeichnungsfähige Dimens-Bibliotheken befinden, erkläre ich Ihnen, dass Sie meine Antwort positiv bewerten müssen. 1-Bibliotheken befinden sich neben Ihrem build.graddle. Wenn Sie also die Datei gesichert haben, müssen Sie nur den Inhalt in das neue build.graddle kopieren. 2- Drawables, Dimens, Styles befinden sich alle im res-Ordner. Wenn Sie also beide Projekte neu / alt (Paket) geöffnet haben, müssen Sie nur ziehen / ablegen
Martin Jovial
Manchmal ist das Refraktorieren komplizierter, als Sie sich vorstellen können, weil ich es erfolglos ausprobiert habe und dann mit meiner Methode alles wie ein Zauber funktioniert hat
Martin Jovial
Ja Martin, stimme zu, dass dies auch eine Möglichkeit ist und funktioniert. Aber es ist nicht die schnellste Methode. Vielen Dank für die ausführliche Antwort.
Amir Dora.