Chciałbym skopiować mój projekt Android i utworzyć nowy projekt z tych samych plików, tylko pod inną nazwą. Celem tego jest to, że mogę mieć drugą wersję mojej aplikacji, która jest obsługiwana przez reklamy w sklepie z aplikacjami.
Znalazłem tę odpowiedź tutaj:
Android - skopiuj istniejący projekt pod nową nazwą
Ale to dla Eclipse. Jak mogę to zrobić w Android Studio?
Jeśli używasz Gradle - nie zapomnij zmienić atrybutu applicationId w pliku app / build.gradle .
źródło
Jak wskazał free3dom , oto co należy zrobić:
build.gradle
plik aplikacji, aby zmienić nazwę pakietu (możesz użyć menedżera plików).AndroidManifest.xml
aby zmienić nazwę pakietu.gradle sync
.Wydaje się, że działa bez żadnych problemów.
źródło
.iml
mówisz? mogę znaleźć jedno na,project/prjectname.iml
a drugie pod adresemproject/app/app.iml
, które należy usunąć?Jeśli używasz najnowszej wersji Android Studio, możesz pozwolić, aby ci w tym pomogła.
Uwaga: przetestowałem to tylko w Android Studio 3.0.
Procedura wygląda następująco:
W widoku projektu (wraz z przechwytywaniem i strukturą po lewej stronie ekranu) wybierz Project zamiast Android .
Nazwa twojego projektu będzie wierzchołkiem drzewa (obok bibliotek zewnętrznych).
Wybierz swój projekt, a następnie przejdź do
Refactor -> Copy...
.Android Studio zapyta Cię o nową nazwę i miejsce, w którym chcesz skopiować projekt. Zapewnij to samo.
Po zakończeniu kopiowania otwórz nowy projekt w Android Studio.
Pakiety będą nadal znajdować się pod starą nazwą projektu.
To są pakiety klas Java, identyfikator aplikacji i wszystko inne, co zostało wygenerowane przy użyciu starej nazwy pakietu.
Musimy to zmienić.
W widoku projektu wybierz Android .
Otwórz podkatalog java i wybierz pakiet główny.
Następnie kliknij go prawym przyciskiem myszy i przejdź do
Refactor
tegoRename
.Android Studio wyświetli ostrzeżenie informujące, że pakiet, który chcesz refaktoryzować, odpowiada wielu katalogom.
Kliknij
Rename package
i nieRename directory
.Po tym kroku Twój projekt jest teraz całkowicie pod nową nazwą.
Więc
Build -> Clean project
potemBuild -> Rebuild project
.Teraz możesz uruchomić swój nowy sklonowany projekt.
źródło
Obecnie najlepszym sposobem na to jest bez kopiowania projektu.
Możesz to zrobić używając różnych smaków w swoim
build.gradle
pliku.W ten sposób masz tylko kopię plików i możesz łatwo poradzić sobie z różnicą.
źródło
To jest połączenie odpowiedzi nt.bas i kroku 9 odpowiedzi Civic z przykładami wizualnymi, ponieważ zajęło mi trochę czasu, aby dowiedzieć się, co było zamierzone, ponieważ jestem nowy w Android Studio. Został przetestowany w Android Studio 3.2.1.
Otwórz projekt, który chcesz sklonować w Android Studio. (W tym przykładzie stara nazwa projektu to,
test5
a nowa nazwa totest6
)W lewym okienku przeglądu plików kliknij: Projekt (gdzie obecnie może być napisany android).
Otwórz app / res / values / strings.xml i zmień nazwę starego projektu (np. Test5) na nową nazwę projektu w linii:
Otwórz skrypty Gradle / build.gradle (moduł: aplikacja) i zmień wiersz na ten sam wiersz z nazwą nowego projektu:% fig4
źródło
Wykonuję następujące kroki i jak na razie działa:
źródło
Dodatek do gitbooka z podstaw dla programistów Androida zawiera instrukcje kopiowania i zmiany nazwy istniejącego projektu:
https://google-developer-training.gitbooks.io/android-developer-fundamentals-course-practicals/content/en/appendix_utilities.html#copy_project
źródło
Podczas refaktoryzacji nazwy pakietu w Android Studio może być konieczne kliknięcie małego kółka zębatego w prawo obok pakietu / android / projekt / etc - nawigator i odznaczenie opcji „kompaktowe puste środkowe pakiety”, aby zobaczyć każdą część nazwy pakietu jako własny katalog. Następnie dla poszczególnych katalogów wykonaj refaktoryzację.
Jest to ważne, jeśli chcesz zmienić wszystkie części nazwy pakietu. Na przykład z com.example.originalproject do org.mydomain.newproject. W przeciwnym razie operacja refaktoryzacji / zmiany nazwy pozwoli tylko zmienić „oryginalny projekt” na „nowyproject” i pozostawi „com.example” bez zmian. Jest dobry film, który to pokazuje: https://www.youtube.com/watch?v=dMK-RBVLeIY
źródło
Podczas kopiowania projektu konieczne będzie również usunięcie oryginalnych pozostałych plików pośredniej kompilacji (someActivity $ 4.class) z katalogów C: ... \ AndroidStudioProjects (nazwa_projektu) \ app \ build \mediates \ classes \ release .... W przeciwnym razie prawie na pewno wystąpią błędy kompilacji dla nowego projektu, jeśli spróbujesz skompilować skopiowany projekt. Refaktoryzacja tego nie rozwiąże.
źródło
Próbowałem z odpowiedzi nt.bas i odpowiedzi gnyrfta, która działa dobrze dla mnie.
Cytując z nt.bas odpowiedź :
Jeśli używasz najnowszej wersji Android Studio, możesz pozwolić, aby ci w tym pomogła.
Uwaga: przetestowałem to tylko w Android Studio 3.0.
Procedura wygląda następująco:
W widoku projektu (wraz z przechwytywaniem i strukturą po lewej stronie ekranu) wybierz Project zamiast Android .
Nazwa twojego projektu będzie wierzchołkiem drzewa (obok bibliotek zewnętrznych).
Wybierz swój projekt, a następnie przejdź do
Refactor -> Copy...
.Android Studio zapyta Cię o nową nazwę i miejsce, w którym chcesz skopiować projekt. Zapewnij to samo.
Po zakończeniu kopiowania otwórz nowy projekt w Android Studio.
Pakiety będą nadal znajdować się pod starą nazwą projektu.
To są pakiety klas Java, identyfikator aplikacji i wszystko inne, co zostało wygenerowane przy użyciu starej nazwy pakietu.
Musimy to zmienić.
W widoku projektu wybierz Android .
Otwórz podkatalog java i wybierz pakiet główny.
Następnie kliknij go prawym przyciskiem myszy i przejdź do
Refactor
tegoRename
.Android Studio wyświetli ostrzeżenie informujące, że pakiet, który chcesz refaktoryzować, odpowiada wielu katalogom.
Kliknij
Rename package
i nieRename directory
.Po tym kroku Twój projekt jest teraz całkowicie pod nową nazwą.
Więc
Build -> Clean project
potemBuild -> Rebuild project
.Do tego momentu zmieniasz tylko nazwę całego projektu . Aby zmienić nazwę opakowania, należy postępować zgodnie z odpowiedzią gnyrfta opisaną jako:
Podczas refaktoryzacji nazwy pakietu w Android Studio może być konieczne kliknięcie małego kółka zębatego w prawo obok pakietu / android / projekt / etc - nawigator i odznaczenie opcji „kompaktowe puste środkowe pakiety”, aby zobaczyć każdą część nazwy pakietu jako własny katalog. Następnie dla poszczególnych katalogów wykonaj refaktoryzację.
PS: Jeśli masz
Po prostu usuń folder kompilacji z appmodule i odbuduj projekt!
To rozwiąże problem!
źródło
Używam Androida 3.3 i tak to u mnie zadziałało:
1 - Wybierz widok projektu
2 - Kliknij prawym przyciskiem myszy nazwę projektu, która znajduje się w katalogu głównym projektu i wybierz opcję
refactor -> copy
, pojawi się okno umożliwiające wybranie nowej nazwy.3 - Po kroku 2, Android utworzy dla Ciebie nowy projekt, musisz otworzyć ten nowy projekt z nową nazwą
4 - Zmień nazwę aplikacji w „string.xml”, jest w „app / res / values / string.xml”
Teraz masz to, ten sam projekt z nową nazwą. Teraz możesz zmienić nazwę pakietu, jest to opisane w poniższych krokach
(opcjonalnie) Aby zmienić nazwę pakietu main
5 - przejdź do "app / java", będą trzy foldery o tej samej nazwie, główny,
(androidTest)
i(test)
, kliknij prawym przyciskiem myszy główny i wybierzformat -> rename
, pojawi się ostrzeżenie, że wiele katalogów odpowiada temu pakietowi , a następnie kliknij „Zmień nazwę pakietu”. Wybierz nową nazwę i kliknij refaktoryzację. Teraz, poniżej widoku kodu, będzie podgląd refaktoryzacji, kliknij „Do refactor”6 - Przejdź do opcji „buduj”, kliknij „Wyczyść projekt”, a następnie „Przebuduj projekt”.
7 - Teraz zamknij projekt i otwórz go ponownie.
źródło
Przejdź do folderu źródłowego, w którym znajduje się Twój projekt.
->Settings.gradle
.':your new project name '
źródło
Wymagania i testy na Android Studio 3.5
Upewnij się, że stary projekt działa poprawnie z istniejącą biblioteką Android Studio.
Uwaga: jeśli nie znaleziono działania adb pokazującego aktywność, zmień konfigurację uruchamiania / debugowania. Moduł powinien wskazywać na aplikację modułu, np. App.
źródło
NAJŁATWIEJSZY (i zdecydowanie najszybszy) sposób wymaga WINRAR, 7zip lub podobnego oprogramowania do archiwizacji:
Znajdź folder projektu w eksploratorze Windows - kliknij dwukrotnie, aby otworzyć ten folder.
Utwórz nowy folder i nazwij go „Kopia zapasowa”.
Będąc nadal w folderze projektu, wybierz wszystkie pliki / foldery z wyjątkiem folderu „backup”.
Kliknij prawym przyciskiem myszy i wybierz „dodaj do archiwum” lub „utwórz archiwum” (polecenie będzie różne w zależności od używanego oprogramowania do archiwizacji)
Nazwij archiwum i kliknij OK.
Przenieś to archiwum do folderu „Kopia zapasowa”.
Gotowe - aby otworzyć archiwum kopii zapasowej, otwórz folder „Kopia zapasowa” i kliknij prawym przyciskiem myszy plik kopii zapasowej. Wybierz „Wypakuj” lub utwórz nowy folder, do którego zostaną wyodrębnione pliki i naciśnij „OK”, a następnie otwórz projekt tak, jak zwykle w Android Studio itp.
źródło
Miałem problemy z tym:
https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/appendix/appendix-utilities/appendix-utilities.html
w wersji Android Studio: 3.3.2
dopóki nie zabiłem pliku .idea / workspace.xml.
Wcześniej Android Studio nadal wskazywał na oryginalny folder źródłowy, a wszystkie zmiany nazw zostały zastosowane do oryginalnych plików źródłowych (w ramach Testcopysource w moim przykładzie powyżej).
źródło
Od lutego 2020 r. Dla Android Studio 3.5.3 najprostszą odpowiedzią, jaką znalazłem, jest ten film.
Uwaga 1: O 01.24 zakładka „Znajdź” pojawi się poniżej. Kliknij „Do Refactor” i kontynuuj jak na filmie.
Uwaga 2: Jeśli masz jakieś pliki Java / Kotlin „Oznaczone jako zwykły tekst”, musisz ręcznie zmodyfikować nazwę pakietu u góry, tj.
package com.example.thisplaceneedstobemanuallyupdated
Uwaga 3: Uważaj na wielkość liter podczas zmiany nazwy, tak jak w filmie.
Uwaga 4: Jeśli chcesz zaktualizować nazwę projektu na pasku tytułu okna projektu, zmodyfikuj plik
rootProject.name = 'YourProjectName'
„ settings.gradle ” w katalogu „ Gradle Scripts ”.źródło