Zmień nazwę pakietu w Android Studio

1360

Jak zmienić nazwy pakietów w nowym IDE Android Studio, opartym na IntelliJ IDEA?

Czy w zestawie jest automatyczne refaktoryzacja?

Chcę dokonać masowej refaktoryzacji, ale nie wiem jak. Pracowałem dwa lata z Eclipse, aw Eclipse jest to operacja jednym kliknięciem.

ramzixp
źródło
Proszę zobaczyć moją odpowiedź tutaj . Udało mi się zmienić nazwę mojego projektu, wykonując kroki, które opisałem.
Leigh
możliwy duplikat Zmień nazwę projektu w Android Studio
Leigh
Proces zmiany nazwy pakietu krok po kroku ... stackoverflow.com/a/46945668/6915572
Shubham Soni
Odpowiedź Sheharyara działa zgodnie z oczekiwaniami. tj. 1. Refaktoryzacja 2. Edytuj build.gradle. Będziesz jednak musiał to śledzić, zmieniając również atrybut nazwa_aplikacji w pliku strings.xml!
Suhas Mallya

Odpowiedzi:

2845

W Android Studio możesz to zrobić:

Na przykład, jeśli chcesz zmienić com.example.appna my.awesome.game, to:

  1. W okienku projektu kliknij małą ikonę koła zębatego ( Ikona kół zębatych)

  2. Odznacz / Odznacz Compact Empty Middle Packagesopcję

    Kompaktowe puste opakowania środkowe

  3. Twój katalog pakietów zostanie teraz podzielony na poszczególne katalogi

  4. Wybierz indywidualnie każdy katalog, którego nazwę chcesz zmienić, i:

    • Kliknij go prawym przyciskiem myszy
    • Wybierz Refactor
    • Kliknij Rename
    • W wyskakującym oknie dialogowym kliknij przycisk Rename Packagezamiast Zmień nazwę katalogu
    • Wpisz nową nazwę i naciśnij Refactor
    • Kliknij Do Refactor na dole
    • Poczekaj, aż Android Studio zaktualizuje wszystkie zmiany
    • Uwaga: podczas zmiany nazwy comw Android Studio może zostać wyświetlone ostrzeżenie. W takim przypadku wybierz Zmień nazwę wszystkich

    Wpisz opis zdjęcia tutaj

  5. Teraz otwórz plik kompilacji Gradle ( build.gradle- zwykle applub mobile). Zaktualizuj applicationIdw defaultConfigdo nowej nazwy pakietu i synchronizacji stopniowania, jeśli nie została jeszcze zaktualizowana automatycznie:

    Refaktoryzuj katalogi

  6. Może być konieczna zmiana package=atrybutu w manifeście.

  7. Oczyść i odbuduj.

  8. Gotowy! W każdym razie Android Studio musi uprościć ten proces.

Sheharyar
źródło
32
Oczyść i odbuduj.
Sheharyar,
20
OSTRZEŻENIE: jeśli wybierzesz „Zmień nazwę wszystkiego”, zmieniając nazwę również na „com”, zmieni ona nazwę nie tylko elementów na wybrany moduł, ale na wszystkie moduły w tym projekcie
ricky.tribbia 17.04.15
17
@Antonio przeciągnij pliki com.example.testdo, com.examplea następnie usuń com.example.test.
Dick Lucas
27
Ta procedura zadziałała dla mnie. Musiałem także zmienić plik AndroidManifest.xml, aby odzwierciedlić nową nazwę. Na przykład -> package = "my.awesome.game">
nevzo
10
Jeśli korzystasz z firebase, zmień również swoją nazwę pakietu w google-services.json.
Samar
550

Inną dobrą metodą jest: Najpierw utwórz nowy pakiet o żądanej nazwie, klikając prawym przyciskiem myszy folder Java → NowyPakiet .

Następnie wybierz i przeciągnij wszystkie swoje klasy do nowego pakietu. Android Studio wszędzie zmieni nazwę pakietu.

Na koniec usuń stary pakiet.

Gotowy.

Bardzo ważne:

Jeśli używasz tej metody, musisz ręcznie zmienić plik AndroidManifest.xml i build.gradle na nowy pakiet.

użytkownik10F64D4
źródło
67
W przypadku korzystania z tej metody może być konieczne zaktualizowanie pliku manifestu Androida, aby odwoływał się do nowego pakietu. Bardzo prosty krok, świetne rozwiązanie.
Dick Lucas,
10
Być może trzeba będzie ponownie uruchomić studio Android, aby zaktualizować plik .idea / workspace.xml
Christoph
24
Być może trzeba będzie zmienić swój build.gradle, aby odzwierciedlić nowy pakiet
Samik Bandyopadhyay
35
dobra metoda, ale musiałem zrobić jeszcze 2 rzeczy (oprócz aktualizacji pliku manifestu), aby działał całkowicie, po pierwsze musiał zmienić / zmienić nazwę importu plików R w całym projekcie, a po drugie appdebug używał starej nazwy pakietu (widocznej w oknie uruchamiania studia ) dodano applicationId „com.packagename” w app build.gradle defaultconfig ..
baboo,
1
@baboo Aby ułatwić pierwszą część, możesz zoptymalizować import plików dla całego projektu, naciskając Ctrl + Alt + O i wybierając wszystkie pliki, a następnie klikając polecenie Uruchom. Jest to szczególnie przydatne, jeśli masz wiele działań i innych klas z importami plików R.
Samuel Rabinowitz
200

Zmiana identyfikatora aplikacji (która jest teraz niezależna od nazwy pakietu) może być wykonana bardzo łatwo w jednym kroku. Nie musisz dotykać AndroidManifest. Zamiast tego wykonaj następujące czynności:

  1. kliknij prawym przyciskiem myszy folder główny swojego projektu.
  2. Kliknij „Otwórz ustawienia modułu”.
  3. Przejdź do zakładki Flavours.
  4. Zmień ID aplikacji na dowolną nazwę pakietu. Wciśnij OK.

Uwaga: nie zmieni to nazwy pakietu. Oddzielenie nazwy pakietu i identyfikatora aplikacji wyjaśniono tutaj: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

Hwat
źródło
8
Zmienia to tylko nazwę w stopniach i nigdzie indziej.
Jacob R
4
To jest jedna odpowiedź Świętego Graala! Bardzo mądry!
sud007
4
Należy to wybrać jako prawidłową odpowiedź, ponieważ jest to bardzo prosty i szybki sposób na naśladowanie.
Ayaz Alifov
6
Należy to zaakceptować, inne odpowiedzi są długotrwałe i nie można przejść com.example.sampledo com.examplekorzystania z innych odpowiedzi
Inder Kumar Rathore
1
To jest poprawna odpowiedź. Działa jak urok przy minimalnym czasie
sunil
77

Podejście zastosowane przeze mnie do zmiany nazwy nazwy pakietu jest proste:

Krok 1 : Wybierz opcję Projekt z menu po lewej stronie Android Studio

wprowadź opis zdjęcia tutaj

Krok 2 : Kliknij prawym przyciskiem myszy Java i dodaj nowy pakiet i ustaw żądaną nazwę pakietu

wprowadź opis zdjęcia tutaj

Krok 3 : Wprowadź nową nazwę pakietu

wprowadź opis zdjęcia tutaj

Krok 4 : Skopiuj wszystkie pliki ze starego pakietu i wklej do nowego pakietu

wprowadź opis zdjęcia tutaj

Krok 5 : Zmień nazwę nazwy pakietu w pliku manifestu

wprowadź opis zdjęcia tutaj

Krok 6 : Zmień nazwę pakietu w pliku build.gradle

wprowadź opis zdjęcia tutaj

Krok 7 : Następnie kliknij stary pakiet prawym przyciskiem myszy i usuń go wraz ze wszystkimi danymi, a także usuń ten katalog

wprowadź opis zdjęcia tutaj

Krok 8 : Następnie odbuduj swój projekt

wprowadź opis zdjęcia tutaj

Krok 9 : Następnie znajdziesz kilka błędów starej nazwy pakietu importu w swoim projekcie Wybierz nazwę starego pakietu w dowolnym pliku i naciśnij CTRL + Shift + R i wprowadź nową nazwę pakietu w polu zamień, a następnie naciśnij znajdź

wprowadź opis zdjęcia tutaj

Krok 10 : Następnie pojawi się wyskakujące okienko, jak poniżej i wybierz opcję Wszystkie pliki z niego

wprowadź opis zdjęcia tutaj

Krok 11 : Ponownie przebuduj projekt, bingo nazwa pakietu projektu została zmieniona :)

Mehroz Munir
źródło
1
Opcja Zamień na ścieżce nie jest już dostępna Tru Shift + R w Android Studio 2.3.3, zaznacz starą ścieżkę, przejdź do Edycja -> Znajdź -> Zamień na ścieżce. Zaktualizuj także pliki stopni. Pozdrawiam
ralphgabb
Nie otrzymano żadnych błędów ze starą nazwą pakietu. Więc nie musiałem nic robić po kroku 9. Dzięki!
user3760100,
Jeśli nie dostałeś żadnych błędów, nie idź po kroku 9
Mehroz Munir
1
Błąd: wykonanie nie powiodło się dla zadania „: app: compileDebugAidl”. > java.io.IOException: com.android.ide.common.process.ProcessException:
Pablo Cegarra
Zamiast Kopiuj, właśnie się przeprowadziłem i dzięki tej operacji nie miałem żadnych błędów po odbudowie.
Cavaleiro,
48
  1. Przejdź do pliku AndroidManifest.xml.
  2. Umieść kursor w nazwie pakietu, jak pokazano poniżej. Nie wybieraj go, po prostu umieść.

    Wpisz opis zdjęcia tutaj

  3. Następnie naciśnij Shift+ F6pojawi się okno wyskakujące, jak pokazano poniżej, wybierz Zmień nazwę pakietu .

    Wpisz opis zdjęcia tutaj

  4. Wpisz swoją nową nazwę i wybierz Refaktoryzuj . (Uwaga: ponieważ mój kursor jest ustawiony na „coś”, zmienia się tylko nazwa czegoś).

To już koniec.

priwiljay
źródło
1
Dziękujemy za pracę nad Android Studio 1.5.1. Automatycznie zmienia pakiet Nie trzeba tworzyć nowego pakietu i przeciągać i upuszczać pliki oraz usuwać stary pakiet Blah Blah Blah
Shan Xeeshi
@Prince Jayakumar, twoje zdanie „nie wybieraj, po prostu umieść” jest mylące. po prostu umieszczając kursor myszy, shft + f6 nie będzie działać. Jeśli daszek znajduje się gdzie indziej w pliku, musisz kliknąć nazwę pakietu, a następnie shft + f6 zadziała
Prabs
Najprostszym sposobem na zmianę nazwy pakietu!
Timo Schuck,
Doskonale działał na Android Studio 3.5
Abigail La'Fay
Całkowitą zmianę nazwy pakietu i identyfikatora aplikacji w jak najmniejszej liczbie kroków! Dzięki.
user1608385,
43

Kliknij pakiet prawym przyciskiem myszy w panelu projektu .

Wybierz Refaktoryzuj -> Zmień nazwę z menu kontekstowego.

GreyBeardedGeek
źródło
1
działało to świetnie dla mnie, musiałem również zaktualizować plik AndroidManifest.
physphil,
115
Refaktoryzuj> Zmień nazwę pozwala mi tylko zmienić nazwę ostatniej części pakietu, np. Aplikacja w com.example.mypackage.app
GilliMonsta
1
Zrobiłem w ten sposób, ale teraz mówi się, że klasa nie istnieje w momencie uruchomienia. Jak zmieniłeś nazwę?
Dharmik
Użyłem menu głównego „Refaktoryzacja” i kliknąłem „Zmień nazwę”.
Codebeat
@GilliMonsta możesz wybrać folder aplikacji w ustawieniach kliknięcia na prawym panelu i
odznaczyć
25
  1. Otwórz plik:

    aplikacja → manifesty → AndroidManifest.xml

    Wpisz opis zdjęcia tutaj

    Podświetl każdą część nazwy pakietu, którą chcesz zmodyfikować (nie zaznaczaj całej nazwy pakietu), a następnie:

    • Kliknij prawym przyciskiem myszy → Refaktoryzuj → Zmień nazwę → Zmień nazwę pakietu
    • wpisz nową nazwę i naciśnij (Refaktor)

    Wykonaj te kroki w każdej części nazwy pakietu.

    Wpisz opis zdjęcia tutaj

  2. Otwórz (skrypt skryptu) >> (build.gradle (moduł: aplikacja))

    i zaktualizuj applicationId do nazwy pakietu

    Wpisz opis zdjęcia tutaj

  3. Otwórz menu (kompilacja) i wybierz (Odbuduj projekt).

alhamdi
źródło
Próbowałem to zrobić i uderzyłem. Próbuję zmienić com.example.android.package na własną domenę (która kończy się na .net). Mogę zmienić „przykład” i „pakiet”, ale nie mogę zmienić „com”. Nie zmienia też nazw katalogów. Jakieś wskazówki?
Rob Rose
@RobertRose, mam rozwiązanie twojego problemu. Nadal nad tym pracujesz?
Oryginalny Android
Odłożyłem go na bok i po prostu poszedłem dalej. To nie jest produkcja. Na przyszłość, co wymyśliłeś?
Rob Rose
Pierwszy nie działa, jeśli mam pakiet typu „xxx.mydomain.com”)
Jemshit Iskenderov
piękny. drugie kroki są niezbędne i zwykle przeglądane w większości odpowiedzi.
AlleyOOP,
16

IntelliJ IDEA ma opcję o nazwie „Compact Empty Middle Packages”. Wybierz ikonę opcji projektu karcie i wyłącz / aktywuj ją.

Zobacz: Jak mogę zmienić nazwę pakietu najwyższego poziomu w IntelliJ IDEA?

Matus F.
źródło
1
To było przydatne. Po „Dezaktywacji” ta funkcja była o wiele wyraźniejsza i mogłem usunąć pakiety, które były puste
Chris Nevill,
@ChrisNevill i jak usunąłeś te puste paczki?
beretis
Myślę, że właśnie je wybrałem i nacisnąłem klawisz Delete. W tej chwili nie mogę odtworzyć problemu, więc nie pamiętam dokładnie.
Chris Nevill,
Zgadzam się, to było NAPRAWDĘ przydatne. Powinny być uwzględnione we wszystkich niestandardowych odpowiedziach na ten temat, które widziałem.
iaindownie,
16

Wybierz pakiet, który zostanie refaktoryzowany. RefaktoryzujPrzenieś„Przenieś xxx do nowej paczki” .

trąbienie
źródło
jest to łatwa metoda
droid kid
4
Nie działa, zmieniłem mój pakiet z „com.company.oldname” na „com.company.newname.oldname”. Widzieć? Ta metoda nie pozwala zmienić ostatniego składnika nazwy (i próbowałem kilka razy).
Jose Manuel Abarca Rodríguez
13

Widziałem najczęściej głosowane odpowiedzi, ale zauważyłem, że jest trochę inaczej, staram się wykonać najbardziej kompletny samouczek.

W Android Studio kliknij ikonę koła zębatego ( Ikona kół zębatych), a następnie wybierz opcję:, "Compact Empty Middle Packages"aby zobaczyć foldery rozdzielone w widoku drzewa.

wprowadzenie do opisu obrazu wodnego

Teraz wybierz folder, kliknij prawy przycisk, aby otworzyć menu kontekstowe, wybierz, Refactora następnieRename

wprowadzenie do opisu obrazu wodnego

Zostaniesz poproszony o ponowne przesłanie paczki:

wprowadzenie do opisu obrazu wodnego

Następnie okno pokaże zbieżności wewnątrz proyect, wybierz "Do Refactor":

wprowadzenie do opisu obrazu wodnego

Nie musimy ręcznie zmieniać plików AndroidManifest.xml ani build.gradle, refaktoryzacja pakietu wykona zadanie !.

Jorgesys
źródło
8

Jeśli nazwa twojego pakietu jest oddzielona więcej niż dwiema kropkami, powiedz com.hello.worldi ponadto, nie wstawiłeś nic do com/i com/hello/. Wszystkie twoje klasy wkładają com/hello/world/, możesz wykonać następujące kroki, aby refaktoryzować nazwy pakietów w Android Studio lub IntelliJ:

  • [FIRST] Dodaj coś do swoich katalogów ( com/, com/hello/). Można to osiągnąć, najpierw dodając dwa pliki do pakietu com.hello.world, powiedzmy
   com.hello.world.PackageInfo1.java
   com.hello.world.PackageInfo2.java

następnie zmodyfikuj je, przenosząc odpowiednio do com i com.hello. Zobaczysz com i com.hello siedzące tam w Projekcie ( Alt+1 lub Command+1skrót), a zmiana nazw katalogów refaktoryzacja czeka tam, jak się spodziewałeś.

  • Refaktoryzacja, aby zmienić nazwę jednego lub więcej z tych katalogów, aby osiągnąć swój cel. Jedyną rzeczą, na którą powinieneś tutaj zwrócić uwagę, jest to, że musisz wybrać katalogi, a nie Pakiety, gdy pojawi się okno dialogowe.

  • Jeśli masz dużo klas w swoim projekcie, poczekaj chwilę, aż poczujesz automatyczne skanowanie i zmianę nazwy.

  • Poza tym musisz zmienić nazwę pakietu w pliku AndroidManifest.xml, tak myślę, aby inne nazwy w tym pliku mogły skorzystać z prefiksu.

  • [TAKŻE] może być konieczne zastąpienie wszystkich com.hello.world.Rnowymi XXX.XXX.XXX.R( Command+Shift+Rw skrócie)

  • Przebuduj i uruchom swój projekt, aby zobaczyć, czy działa. I użyj „Znajdź na ścieżce”, aby znaleźć inne nazwy bezdotykowe, których nazwę chcesz zmienić.

  • Ciesz się
dongxu
źródło
6

Pamiętaj, aby przejść do wspaniałej odpowiedzi Sheharyara . Jest tak wiele odpowiedzi i komentarzy, które następują po nim, że łatwo byłoby się pomylić i poddać, ale nie . Ta odpowiedź działa .

Krótko mówiąc, robisz trzy rzeczy :

(1) Odznacz Compact Empty Middle Packages .

(2), Refactora następnie Renamekażdy stary węzeł katalogu, wybierając Change Package( nie Change Directory ), aby dopasować nazwę nowego pakietu. (Pamiętaj, aby zrobić podgląd zmian.)

(3) Edytuj build.gradleplik i APPLICATION_IDdopasuj nazwę nowego pakietu.

DSlomer64
źródło
3
Ktokolwiek głosował to naprawdę, czegoś brakuje, ponieważ moja odpowiedź jest streszczeniem odpowiedzi Sheharyara, KTÓRA ZGŁOSIŁA 332, a wszystko, co zrobiłem, to uprościłem, ponieważ wygląda na tak zaangażowanego (nie jest). Odwaga niektórych krótkowzrocznych, szczęśliwych ludzi. Chciałbym zobaczyć powód do głosowania. Nie mam wątpliwości, że tego nie zobaczę.
DSlomer64,
OK. Począwszy od 3,5 roku później, być może rozumiem, dlaczego głosy przegłosowane mogły zostać oddane, ponieważ nie było to całkowicie jasne, ponieważ BYŁO (ale zmniejszyło luźność!), Ale na pewno jest teraz, dzięki dwudniowemu @Peter Mortensen -stare edycje i moje właśnie teraz.
DSlomer64
5

Zaktualizowana odpowiedź: maj 2015 r

OK Miałem problemy z klonowaniem i zmianą nazw projektów w Android Studio, ale w końcu udało mi się to. Oto kroki, które należy wykonać:

  1. Skopiuj folder projektu, zmień jego nazwę i otwórz go w Android Studio
  2. Zmień nazwę katalogu modułu z Eksploratora
  3. Zmień nazwę projectName.iml i treść
  4. Zmień nazwę treści pomysłu / nazwy
  5. W okienku projektu kliknij małą ikonę koła zębatego -> odznacz „Kompakt pusty pusty pakiet środkowy”
  6. Refaktoryzuj katalogi src dla nowej nazwy pakietu (zmień nazwę pakietu, „nie zmieniaj nazwy katalogu”)
  7. W build.gradle zmień nazwę identyfikatora aplikacji
  8. settings.gradle zmień nazwę modułu

Otóż ​​to...

Sebastian Breit
źródło
5

Znalazłem łatwiejsze rozwiązanie tego problemu, które zmieniło również wygenerowany import com.test.testpackagechange.R i zajmuje tylko około minuty.

Pierwszym krokiem jest otwarcie Android Studio i otwarcie okna zastępowania wszystkich (Mac: cmd + shift + R, Windows, zakładam: ctrl + shift + R). Wpisz swoją starą nazwę pakietu i nazwę poniżej swojej nowej paczki. Kliknij Znajdź. Może to chwilę potrwać, ponieważ przegląda również wygenerowane elementy. Jeśli ma ponad 1000 trafień, po prostu kliknij Kontynuuj.

wprowadź opis zdjęcia tutaj

Po wykonaniu tej czynności naciśnij przycisk Zamień wszystko, aby zastąpić starą nazwę pakietu nową.

wprowadź opis zdjęcia tutaj

Teraz zamknij Android Studio i przejdź do Findera na Macu lub Windows Explorera na Windowsie. Zmień nazwę folderów na nową nazwę pakietu, tak jak poniżej:

wprowadź opis zdjęcia tutaj

Teraz ponownie otwórz Android Studio. Gradle zostanie zsynchronizowany, a nazwa pakietu powinna zostać zmieniona na nową.

Uważam, że jest to najłatwiejszy i obejmujący wszystkie obszary, takie jak wygenerowane pliki.

Kevin van Mierlo
źródło
5

Częstym błędem, jaki można popełnić, jest to, że nie można zmienić nazwy struktury pakietu, tzn. Nie można zmienić com.name.android na com.Renamed.android, gdy próbuje się zmodyfikować w com.name.android poziomie .

Aby mieć tę samą pożądaną zmianę, przejdź o jeden poziom wyżej, tj. Com.name, a tutaj po refaktoryzacji zmień ją na Renamed . To zawsze będzie działać.

Shivanand T.
źródło
5

Znalazłem inny sposób, który działa lub dodatkowy krok do niektórych odpowiedzi tutaj, szczególnie jeśli chcesz również zmienić domenę. Działa w Android Studio 1.4. Oto co zrobiłem:

  1. Otwórz plik Manifest.xml i zmień nazwę pakietu na odpowiednią.
  2. Otwórz build.gradleplik aplikacji i zmień identyfikator aplikacji w defaultConfig na taką samą nazwę jak w manifeście i odbuduj projekt.
  3. Jeśli nadal występuje problem, otwórz plik pod nazwą pakietu, przejdź do menu nawigacyjnego pakietu (tj. Deklaracja pakietu na początku pliku) i ustaw kursor na domenę, którą chcesz zmienić, i naciśnij „Shift + F6”, pojawi się w oknie dialogowym z ostrzeżeniami o wielokrotnym użyciu kliknij „Zmień nazwy pakietów”, a następnie kliknij „Do Refactor”, powinien zmienić nazwę wszystkiego, w tym plików R.Java.

Na przykład, jeśli chcesz zmienić nazwę „com.example.app” na „com.YourDomain.app”, otwórz plik pod pakietem, którego nazwę chcesz zmienić, w menu nawigacyjnym pakietu ustaw kursor na „example” część domeny i naciśnij Shift+ F6i zmień nazwę pakietu na „YourDomain”.

irobotxx
źródło
5
  1. Wybierz nazwę pakietu w folderze Java.
  2. Shift+F6
  3. Zmień nazwę pakietu i kliknij OK.

Nazwa pakietu zostanie zmieniona ze wszystkich plików Java i pliku manifestu. Musisz ręcznie zmienić nazwę pakietu z build.gradle.

himanshu.tiwari
źródło
1
Jeśli Shift + F6 nie działa dla Ciebie, możesz spróbować Alt + Shift + R, aby refaktoryzować pakiet. Reszta procedury jest taka sama
wyjątek Uncaught
5

Zmień nazwę pakietu


Aby zmienić nazwę nazwy pakietu, wystarczy przejść do AndroidManifest.xmlpliku i umieścić kursor myszy przed częścią nazwy pakietu, którą chcesz zmienić.


wprowadź opis zdjęcia tutaj


Kliknij prawym przyciskiem myszy> Refaktoryzuj> Zmień nazwę


wprowadź opis zdjęcia tutaj


W nowym oknie naciśnij Zmień nazwę pakietu


wprowadź opis zdjęcia tutaj


Zmień nazwę i naciśnij Refaktoryzuj


wprowadź opis zdjęcia tutaj


… I naciśnij Do Refactor na dole.


wprowadź opis zdjęcia tutaj


Nazwa pakietu zwykle ma format com.domain.appname, w tym przykładzie zmieniliśmy część nazwy aplikacji, ale możesz wykonać te same kroki dla domeny.

Gotowy! Zmieniłeś nazwę swojego pakietu!

Vishrut Mavani
źródło
4

Wypróbowałem dwa najlepiej oceniane rozwiązania, ale znalazłem pewne problemy, mimo że oba działają do pewnego stopnia.

  • Element listy: Nowa metoda przeciągania i upuszczania pakietów pozostawia niektóre niezmienione i tworzy niepożądane efekty
  • Element listy: zmiana nazwy pakietu zmienia tylko ostatnią część nazwy pakietu

Po kilku eksperymentach stwierdziłem, że następująca metoda działa dla mnie dobrze.

Jeśli potrzebujesz tylko zmienić ostatnią część nazwy pakietu, skorzystaj z metody opisanej przez GreyBeardedGeek, a mianowicie

Kliknij pakiet prawym przyciskiem myszy w panelu Projekt. Wybierz Refaktoryzuj -> Zmień nazwę z menu kontekstowego

Jeśli chcesz zmienić nazwę całego pakietu, wykonaj następujące czynności.

Kliknij pakiet prawym przyciskiem myszy w panelu Projekt. Wybierz Refaktoryzuj -> Przenieś z menu kontekstowego

Spowoduje to utworzenie nowego folderu pakietu (w razie potrzeby), ale zachowa ostatnią część nazwy pakietu, jak poprzednio. Jeśli chcesz zmienić ostatnią część, odpowiednio zmień nazwę.

Zauważ też, że może być konieczne zmodyfikowanie nazw pakietów w np. Build.gradle, manifest i / lub dowolnych plikach zasobów xml, a nawet w kodzie, jeśli są zapisane na stałe. Po tym wszystkim, w razie potrzeby wykonaj projekt Sync / Clean / Rebuild.

ssgg Google Developer Platform
źródło
4

Jak zmienić nazwę com.example.appna com.android.app:

  1. w pakiecie com.example.appwybierz przykład

  2. Shift + F6

  3. wybierać rename package

  4. zmień nazwę przykładu na android

  5. potwierdzać do refactor

Andrew Glukhoff
źródło
4

Kliknij pakiet prawym przyciskiem myszy -> refaktoryzuj i zmień nazwę.

Możesz to również zmienić w manifeście. Czasami po zmianie nazwy pakietu, ale po utworzeniu pliku .apk wyświetlana jest inna nazwa pakietu. W tym czasie zaznacz „applicationId” w pliku build.gradle .

rajlaxmi_jagdale
źródło
4

Polecam używać Sublime Text (lub Notepad ++ ). Zamień com.one.lastname -> com.two.newname i com / one / lastname -> com / two / newname w ... \ Projects [MyProject]. i nie zapomnij zmienić nazwy ... \ Projects \ MyProject \ app \ src \ main \ java \ com \ one \ lastname, ... \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname i ... \ Projekty \ MójProjekt \ aplikacja \ src \ androidTest \ java \ com \ one \ nazwisko!

To wszystko:)

Zrzut ekranu

Ярослав Нестеров
źródło
3

Uważam, że to, czego szukasz, to Refactor> Move. Możesz także nacisnąć klawisz F6.

Otrzymasz dwa wyskakujące okienka. Upewnij się, że wybrałeś zmienić nazwę pakietu na obu. Następnie pojawi się wyskakujące okienko z nazwą nowego pakietu.

Pamiętaj, że jeśli nazwa pakietu to na przykład com.example.android.projectname, to pozwoli Ci zmienić com.example.android na coś innego.

Jeszcze jedna rzecz, zaktualizuje to również applicationId w twoim build.gradle. Upewnij się tylko, że pola wyboru „szukaj w komentarzach i ciągach” oraz „szukaj wystąpień tekstu” są zaznaczone, aby działało.

phxhawke
źródło
3

Szybki i łatwy sposób:

1- otwarty MainActivity.javalub dowolny dostępny plik Java.

U góry znajduje się deklaracja pakietu, taka jak:

pakiet com. example.myapp;

wybierz część opakowania, którą chcesz zmienić, i naciśnij Shift + F6 . Ja osobiście chcę zmienić example.

W oknie dialogowym ostrzeżenia wybierz Zmień nazwę pakietu, a następnie wstaw żądaną nazwę pakietu.

2- Otwórz AndroidManifest.xmli wewnątrz <manifest>tag zmień packagena żądaną nazwę pakietu.

3 - otwórz build.gradle(Module: app)i zmień applicationIdżądaną nazwę pakietu.

Darush
źródło
Dziękuję Ci. To jest dość proste i jednoznaczne.
Ishwor Khanal,
3
  1. Wybierz opcję wprowadź opis zdjęcia tutaj

  2. Odznacz opcję Kompaktowe puste pakiety środkowe.

  3. Wybierz katalog, który chcesz zmienić (wybrałem „crl” pokazany w kroku 6).
  4. Shift+F6
  5. Zmień nazwę pakietu
  6. Zmiana nazwy katalogu crl na crl1 wprowadź opis zdjęcia tutaj

  7. Na koniec kliknij przycisk Do Refactor zaznaczony na obrazku poniżej, wprowadź opis zdjęcia tutaj wprowadź kod tutaj

  8. Po wprowadzeniu zmian wprowadź opis zdjęcia tutaj

Shiv Buyya
źródło
3

Spróbuj wykonać następujące czynności:

  1. Kliknij ikonę ustawienia koła zębatego i odznacz opcję Compact Empty Middle Package
  2. Teraz widzimy, że każdy folder pakietu jest podzielony na części
  3. Teraz kliknij prawym przyciskiem myszy folder pierwszego pakietu >>> refaktoryzuj >>> zmień nazwę
  4. Teraz pojawi się ostrzeżenie, ale ty idź dalej i kliknij Zmień nazwę pakietu
  5. Następnie wprowadź nazwę domeny dla nazwy pakietu
  6. Kliknij „Do Refactor”
  7. Teraz zmieniła nazwę domeny pakietu aplikacji. Teraz zmień rozszerzenie domeny i nazwę folderu aplikacji zgodnie ze swoimi wymaganiami
  8. Teraz otwórz build.gradle (moduł: aplikacja) w skryptach stopniowych. Tutaj zmień identyfikator aplikacji i kliknij Synchronizuj teraz.

******* Wreszcie to zrobione ******

Joseph Mathew
źródło
3
  1. Naciśnij Ctrl+ Shift+R

  2. Wymień stary pakiet na nowy.

  3. Kliknij prawym przyciskiem myszy nazwę pakietu.

  4. Refactor> Renamei zmień nazwę na nową

kok
źródło
3

ctrl+ Shift+ Rzawsze działało dla mnie. Po prostu replace alli wybierz All Files.

Amir
źródło
to nie będzie aktualizowało katalogów i nie znajdzie żadnej z twoich klas
John KTejik
3
  • Pierwsza część składa się z tworzenia nowego pakietu pod javafolderze i wybierając następnie przeciągając wszystkie pliki źródłowe z old packagetego new package. Następnie musisz remanepodać nazwę pakietu w Androidzie manifestdo nazwy nowego pakietu.

  • W kroku 2 oto, co musisz zrobić. Musisz zmienić starą nazwę pakietu w applicationIdmodule build.gradlew swoim studiu Android oprócz zmiany nazwy pakietu w manifest. Podsumowując, kliknij, build.gradlektóry znajduje się poniżej „AndroidManifest.xml” i zmień wartość applicationIdna nazwę nowego pakietu.

  • Następnie na samej górze poniżej build. cleantwój projekt rebuild. Odtąd powinno być dobrze.

użytkownik3295929
źródło
3

Najlepszym sposobem jest napisanie nowej nazwy pakietu i przeciągnięcie ze starszej nazwy pakietu.

Drugi sposób, jeśli klikniesz Refaktoryzuj, a następnie przeniesiesz opcję, a następnie zmienisz nazwę pakietu, zmieni on nazwę pakietu, a następnie przebudujesz.

W Build.gradle musisz to zrobić ręcznie, jeśli zmienisz fakturę, to nie zmieni ona nazwy w Build.gradle.

Ajay Keshri
źródło