Dies sollte eine wirklich einfache Frage sein :)
Ich habe ein Projekt, das gut funktioniert. Jetzt wollte ich es umbenennen und den Pfad des Projektordners ändern. Zuerst sah es einfach aus: Rechtsklick -> "Verschieben" und "Refaktor/Umbenennen".
Nach dem Verschieben und Umbenennen meines Projektordners und meines Apk-Moduls gab es nicht die gleiche Projektstruktur wie zuvor. Meine Projektbibliotheken wurden zweimal eingefügt .. Ich habe in den .iml-Dateien nachgesehen und festgestellt, dass der vorherige Pfad enthalten war - also habe ich das geändert. Danach konnte ich mein Projekt über die Kommandozeile kompilieren, aber nicht mit der IDE. Dort habe ich diesen Fehler bekommen:
NullPointerException: no project directory specified
Was ist die Standardmethode zum Verschieben und Umbenennen eines Projekts? Ich habe mein Problem gelöst, indem Sie ein neues Projekt erstellt und alle Dateien kopiert haben, aber es wäre sehr cool, die Lösung dieses "Problems" zu kennen.
BEARBEITEN:
Origin-Projektstruktur:
MyProject
--- libraries
--- MyApp
Nach dem Umzug:
MyProject
--- MyProject (new path)
--- MyProject (old path)
Ich denke, ich muss mehr als nur das Projekt kopieren. Irgendwie muss ich das "neue" Projekt angeben, nicht wahr?
Schließen Sie das Projekt in Android Studio (Datei -> Projekt schließen). Verschieben Sie das Projekt, und benennen Sie es um, indem Sie den Basisordner/das Verzeichnis verschieben. Öffnen Sie das neue Projekt aus Android Studio (Datei -> Öffnen).
In Android Studio 0.8. + Können Sie auf F6
klicken, um es zu verschieben.
Wenn Sie 1.0.2 oder höher verwenden, müssen Sie die Projektansicht auswählen, damit die Menüoption Refactor -> Move verfügbar wird.
Vielen Dank an @DavidsAlias für diesen Hinweis.
Verschieben Sie die Projektdateien nach Belieben und dann:
Extras -> Android -> Projekt mit Verlaufsdateien synchronisieren
So verschieben Sie das Projekt in Ihrem Dateisystem mit Android Studio 1.1.0:
Für Android Studio 3 scheint dies ausreichend zu sein:
Ich konnte nach dem Verschieben und Umbenennen eines Projekts keine Bereitstellung auf dem Emulator durchführen. Durch die oben genannten Schritte wurde das Problem gelöst.
Dies ist, was ich mache, um ein Projekt zu kopieren/verschieben. Ich verwende Android Studio Version 2.3.2
Hier einige Beispielanweisungen, die geändert werden müssen:
<entry file="file://$PROJECT_DIR$/app/src/main/Java/com/NEW_SITE_NAME/NEW_SITE_PACKAGE)/MainActivity.Java">
<option name="name" value="NEW_ROOT_DIRECTORY_NAME" />
<option name="KEY_STORE_PATH" value="C:\... YOUR KEYSTORE PATH ...\keystore.jks" />
<option name="KEY_ALIAS" value="newrootdirectoryname" />
<option name="name" value="NEW_ROOT_DIRECTORY_NAME" />
Es gibt andere Aussagen und viele Aussagen sind identisch. Sie sollten in der Lage sein, die Idee zu bekommen. Um dies richtig zu machen, müssen Sie dieselbe Benennungsmethode verwenden, die bereits in der vorhandenen Datei workspace.xml vorhanden ist. Wenn Sie Suchen und Ersetzen verwenden, ist dies ein ziemlich einfacher Prozess und dauert nur wenige Minuten.
Hoffe das hilft jemandem!
In Android Studio 1.2 fand ich die beiden folgenden Arbeiten für ein Projekt, das kopiert wurde, umbenannt |.
Ansatz: Import
1. Erstellen> Projekt reinigen 2. Datei> Projekt schließen 3. Ordner kopieren, verschieben und/oder umbenennen 4. Löschen Sie /old_name.iml (wird nicht mehr benötigt) 5. Datei> Neu> Projekt importieren ...
Ansatz: Syn Project with Gradle Files
1. Erstellen> Projekt reinigen 2. Datei> Projekt schließen 3. Ordner kopieren, verschieben und/oder umbenennen 4. Löschen Sie /old_name.iml (wird nicht mehr benötigt) 5. Datei> Öffnen 6. Extras> Android> Projekt mit Gradle-Dateien synchronisieren
Beide haben das gleiche Ergebnis.
Import
ist einen Schritt weniger. Import
befindet sich auf dem Begrüßungsbildschirm und im Menü Datei> Neu.
Sync Project with Gradle Files
ist ein etwas obskurer Menüpunkt. Sync Project with Gradle Files
ist jedoch ein guter Fallback, wenn Sie auf Import
klicken und auf Öffnen klicken.
In meinem Fall hat nach dem Verschieben des Projekts in einen anderen Ordner Folgendes funktioniert:
Was funktioniert für mich:
1. Umzugsprojekt:
Schließen Sie Android Studio. Sie können versuchen, das Projekt normal zu kopieren und einzufügen. Wenn ein Pfadfehler wegen zu langem Pfad vorliegt. Normalerweise komprimiere ich das Projekt in eine RAR-Datei. Kopieren Sie Einfügen an einen neuen Ort und extrahieren Sie es. Für Winrar verwenden Sie hier den Extrakt
2. Benennen Sie das Projekt um:
Benennen Sie den Stammordner in Ihren neuen Projektnamen um.
3. Öffnen Sie in Android Studio
Beachten Sie, dass beim Öffnen von Android Studio standardmäßig die alte Projektdatei geöffnet wird. Schließen Sie das Projekt, indem Sie auf Datei> Projekt schließen klicken. Dann öffnen Sie Ihr neues Projekt.
In Android Studio 1.5
Dadurch wird der Projektpfad verschoben und umbenannt.
Für Android 3.3.2+
Achten Sie darauf, den Ordner mit dem Projektnamen auszuwählen
Deinstalliere die App von deinem Gerät
Wichtig !!
Deaktivieren Sie Instant Run, um zu verhindern, dass der Apk-Installationsprozess nach vorhandenen Slices sucht (die Cache-Bereinigung tut dies anscheinend nicht). Dies ist aus der SO Antwort hier . Datei> Voreinstellungen> Erstellen, Ausführen, Bereitstellen> Sofortiges Ausführen> Deaktivieren Sie das Kontrollkästchen "Aktiviert"
Hauptmenüleiste - Datei> Caches ungültig machen/neu starten (nur ich ungültig machen)
Das sollte den Trick machen
Ich habe gerade mein C:\-Projekt erfolgreich in mein tragbares M:\-Laufwerk verschoben.
Ich weiß, es ist ein bisschen schwierig, aber dies ist die einzige Arbeitsmethode, die ich gefunden habe, um ein Projekt von einem Ziel an ein anderes zu verschieben und trotzdem ein brauchbares Arbeitsprodukt zu haben.
PS: Ich habe vor ungefähr einer Stunde nach dieser Frage gesucht, ohne Erfolg. Nachdem ich selbst ein positives Ergebnis erhalten hatte, dachte ich, ich würde das Ergebnis mit der Community teilen ... selbst wenn der Thread zwei Jahre alt ist und bereits als beantwortet markiert wurde. Schließlich kann es der nächsten Person helfen, die nach einem schnellen Ergebnis sucht, wie ich es war.