Całkowicie zmień nazwę pakietu, w tym domenę firmy

82

Załóżmy, że jest to nazwa pakietu: package com.company.name. Jak się zmienić company?

PS Widziałem, jak się zmienić, nameale nie company. Używam Android Studio.

Filip Luchianenco
źródło
zacząłem tworzyć projekt i muszę zmienić companysłowo na inne, ponieważ ten projekt jest dla firmy. i po co używać klawisza usuwania? gdzie?
Filip Luchianenco
2
Możliwy duplikat pakietu zmiany nazwy Android Studio
Bo Persson
Po prostu utwórz nowy pakiet, wybierz klasy, które chcesz przenieść, a następnie przeciągnij i upuść go do nowo utworzonego pakietu, a następnie zrefaktoryzuj, to działa dla mnie
Manee.OH

Odpowiedzi:

48

Możesz to zrobić:

Zmień nazwę pakietu ręcznie w pliku manifestu. Kliknij swoją klasę R.java i naciśnij klawisz F6 (Refactor-> Move ...). Umożliwi to przeniesienie klasy do innego pakietu, a wszystkie odniesienia do tej klasy zostaną zaktualizowane.

odniesienie: Jak zmienić nazwę pakietu Androida?

Luch Filip
źródło
50

aktualny pakiet: com.nazwa.firmy

Nowy pakiet: com.mycomapny.name

Kroki: 1) Załóżmy, że znajdujesz się na tym ekranie, który pokazano poniżej.

wprowadź opis obrazu tutaj

2) Otwórz panel projektu i kliknij ikonę ustawień.

3) Odznacz opcję Kompaktowe puste środkowe pakiety.

4) Następnie twoja paczka jest teraz podzielona na poszczególne części, jak pokazano poniżej.

5) kliknij prawym przyciskiem myszy „firma” wybierz Refaktoryzuj -> wybierz zmień nazwę -> zmień nazwę katalogu.

wprowadź opis obrazu tutaj

6) Teraz Twoja „firma” została zmieniona na nową „mycomapny” i zmiany zostały odzwierciedlone, jak pokazano na poniższym rysunku.

wprowadź opis obrazu tutaj

7) Teraz zmień nazwę pakietu w pliku AndroidManifest.xml.

wprowadź opis obrazu tutaj

8) Otwórz build.gradle na poziomie aplikacji i zmień nazwę pakietu.

wprowadź opis obrazu tutaj

9) pojawią się błędy, takie jak Nie można rozwiązać symbolu „R”.

10) Usuń wiersz powodujący ten błąd, a studio automatycznie zaimportuje nowy plik R.

11) Jeśli masz wiele plików, użyj opcji znajdź i zamień, naciskając „Cntrl + Shift + R”

Lub „Wybierz Edycja-> Znajdź-> Zastąp w ścieżce ..”

wprowadź opis obrazu tutaj

12) wybierz Zastąp wszystko.

Janardhan R
źródło
31

To zadziałało dla mnie, od https://stackoverflow.com/a/18637004/127434

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

Następnie wybierz i przeciągnij wszystkie swoje klasy do nowego pakietu. AndroidStudio zrefaktoruje nazwę pakietu wszędzie.

Na koniec usuń stary pakiet.

cja
źródło
U mnie to częściowo zadziałało, ale nie naprawiło instrukcji „import com.company.foo”. Udało mi się zrobić to drugie z globalną zamianą w katalogu src /.
LarsH
9

W Android Studio możesz to zrobić:

Na przykład, jeśli chcesz zmienić com.example.app na iu.awesome.game, to:

  1. W panelu projektu kliknij małą ikonę koła zębatego ( wprowadź opis obrazu tutaj)
  2. Odznacz / odznacz opcję Kompaktuj puste środkowe pakiety wprowadź opis obrazu tutaj
  3. Twój katalog pakietów zostanie teraz podzielony na poszczególne katalogi
  4. Indywidualnie wybierz każdy katalog, którego nazwę chcesz zmienić, i:

    • Kliknij go prawym przyciskiem myszy
    • Wybierz opcję Refaktoryzacja

    • Kliknij Zmień nazwę

    • W wyskakującym oknie dialogowym kliknij Zmień nazwę pakietu zamiast Zmień nazwę katalogu

    • Wpisz nową nazwę i naciśnij Refactor

    • Kliknij Wykonaj refaktoryzację u dołu

    • Poczekaj chwilę, aby Android Studio zaktualizował wszystkie zmiany

    • Uwaga: podczas zmiany nazwy com w Android Studio może to spowodować ostrzeżenie. W takim przypadku wybierz Zmień nazwę wszystkiegowprowadź opis obrazu tutaj

      1. Teraz otwórz plik kompilacji Gradle (build.gradle - zwykle aplikacja lub urządzenie mobilne). Zaktualizuj applicationId w defaultConfig do nowej nazwy pakietu i zsynchronizuj Gradle, jeśli nie został jeszcze zaktualizowany automatycznie:wprowadź opis obrazu tutaj

      2. Może zajść potrzeba zmiany atrybutu package = w swoim manifeście.

      3. Oczyść i odbuduj.

      4. Gotowe! W każdym razie Android Studio musi nieco uprościć ten proces.

ibad ur rahman
źródło
8

Rozwiązanie @Luch Filip działa dobrze, jeśli chcesz zmienić nazwę pakietu aplikacji. W moim przypadku chcę również zmienić nazwę pakietu źródłowego, aby nie mylić rzeczy.

Potrzebne są tylko 2 kroki:

  1. Kliknij folder źródłowy, np. com.company.example> Shift + F6 (Refactor-> Rename ...)> Rename Package > wprowadź żądaną nazwę.

  2. Przejdź do pliku AndroidManifest.xml, kliknij nazwę pakietu> Shift + F6 (Refactor-> Zmień nazwę ...)> wprowadź tę samą nazwę co powyżej.

Krok 1 automatycznie zmieni nazwę folderu R.java i możesz od razu zacząć budować.

Łyżka
źródło
Wszystko dobrze, poza tym, że otrzymuję „IOException: nie można zmienić nazwy (...)” dla głównego folderu źródłowego. Prosty projekt, właśnie otwarty.
kaay
1
Używam Android Studio 2.1.1. Mój konkretny Na przykład, na początku mam info.apachehive.cardview, chcę mieć net.vyhn.cardview. Krok 1. Wybierz kod źródłowy widoku drzewa. Krok 2. Kliknij apachehive, naciśnij Shift + F6 Refactor \ Rename to vyhn. Krok 3. Kliknij infofolder, naciśnij Shift + F6 Refactor \ Rename to net. Plik AndroidManifest.xmlzmienia się automatycznie. Następnie uruchamiam debugowanie, moja aplikacja działa dobrze.
Do Nhu Vy
5

Poniżej podano cztery kroki:

  1. Kliknij folder aplikacji poniżej:

wprowadź opis obrazu tutaj

com.new25.impro. naciśnij Shift + F6 {Refactor-> Rename ...}, aby zmienić nazwę pakietu i naciśnij refactor.

  1. Następnie zobacz monitor androida. Ten program zmienia się wszędzie tam, gdzie nazwa pakietu. Kliknij refactor.

  2. Idź do modułu app:changeid aplikacji dla ciebie, jak ta nazwa to umieść. i kliknij sync now.

  3. Teraz możesz zmienić nazwę pakietu na taką, jaką lubisz.

Saravanakumar Gopal
źródło
2

1) Otwórz folder projektu w Android Studio.
2) Wybierz folder aplikacji -> kliknij prawym przyciskiem myszy i wybierz refaktoryzację .
3) Kliknij przenieś. Program zapyta się jaki typ nazwa pakietu jesteś właścicielem pełną nazwę pakietu i będzie prosić, aby utworzyć nowy pakiet tak tworzyć nowe automatycznie poprosić o gradlecelu sync.

Programista Android Vinod
źródło
Może możesz dodać kilka zrzutów ekranu.
Asim KT
2

Aby zmienić nazwę pakietu w Android Studio, kliknij ikonę ustawień w sekcji projektu i odznacz opcję Kompaktuj puste środkowe pakiety, po czym pakiet zostanie podzielony na wiele nazw folderów, a następnie kliknij prawym przyciskiem myszy folder, którego nazwę chcesz zmienić, kliknij refactor-> Rename-> Wpisz nazwę, którą chcesz zmienić w -> Refactor -> Refactor Directory, a następnie zaimportuj plik R.java w całym projekcie. Pracuje dla mnie.

Deepika kapila
źródło
2

Przeczytałem prawie wszystkie odpowiedzi. Ale myślę, że jednego brakuje. Czasami mogę się mylić. Użyłem poniższej metody i działa.

3 Metody zmiany nazwy pakietu w Android Studio

  1. Wybierz swój pakiet i prawym przyciskiem myszy , Refactor -> Move .
  2. Wybierz opcję Przenieś pakiet z „Twojego pakietu” do innego pakietu i kliknij OK.
  3. Pojawi się nowe okno dialogowe z informacją, że Wiele katalogów odpowiada pakietowi „Twój pakiet” i kliknij Tak .
  4. Wprowadź nową nazwę pakietu, z wyjątkiem ostatniego poziomu lub nazwiska. Oznacza, jeśli chcesz zmienić nazwę pakietu na „info.xyz.yourapplication”. Następnie wpisz „info.xyz”, zostaw tylko „swoją aplikację”.
  5. Kliknij Refaktoryzuj .
  6. Nowe okno dialogowe, Informacje o pakiecie.xyz nie istnieje. Chcesz go stworzyć? Kliknij Tak .
  7. Kliknij Wykonaj refaktoryzację .
  8. Kliknij prawym przyciskiem myszy nowy pakiet, aby zmienić nazwisko. Refaktoryzacja-> Zmień nazwę .
  9. Zmień nazwę pakietu
  10. wpisz nową nazwę i kliknij Wykonaj refaktoryzację .
  11. Usuń wszystkie stare katalogi pakietów.
  12. Zmień ApplicationId w pliku build.gradle i kliknij teraz synchronizuj
Jacob George
źródło
1
Dla mnie to najlepsza odpowiedź. Dzięki.
Hasan El-Hefnawy
1

Jeśli nazwa domeny / pakietu Twojej firmy jest bardzo długa, jest to trudniejsze.

To było dla mnie brakujące ogniwo. Musisz wybrać Pliki projektu -> ustawienia -> następnie odznaczyć „kompaktowe puste klasy średnie.

DivineChaos
źródło
0

Najprostszym sposobem na zrobienie tego byłaby zmiana nazwy głównego folderu aplikacji z com.example.MyAppna, com.newcompanyname.MyNewAppNamea następnie zastąpienie wszystkich wystąpień starej ścieżki na nową ścieżkę w dowolnym używanym IDE.

Prof
źródło
0

Znalazłem inne rozwiązanie do zmiany nazwy pakietu w całym projekcie:

Otwórz plik w pakiecie. IntelliJ wyświetla menu nawigacyjne pliku nad otwartym plikiem. Na pakiecie, którego nazwę chcesz zmienić: Kliknij prawym przyciskiem myszy> Refaktoryzuj> Zmień nazwę. Spowoduje to zmianę nazwy pakietu / katalogu w całym projekcie.

Thasneem
źródło
0

Ja też napotkałem ten sam problem i oto jak go rozwiązałem: -

Chcę zmienić nazwę pakietu np.com.shivakrstha.userlog na np.edu.khec.userlog

Wybrałem shivakrstha i nacisnąłem Shift + F6 dla Rename Refract i zmieniłem nazwę na khec .

Na koniec użyj tej samej nazwy pakietu w AndroidManifest.xml , applicationId w build.gradle i nie zapomnij odbudować swojego projektu .

Uwaga: - Próbowałem zmienić np na jp , więc wybrałem np i nacisnąłem Shift + F6 dla Rename Refract i zmieniłem nazwę na jp , można też zmienić inne.

ersks
źródło
0

To może ci pomóc - 1) Otwórz plik pakietu. 2) Android Studio wyświetla menu nawigacyjne pliku nad otwartym plikiem. Na pakiecie, którego nazwę chcesz zmienić: Kliknij prawym przyciskiem myszy> Refaktoryzuj> Zmień nazwę.

wprowadź opis obrazu tutaj

Bagesh Sharma
źródło
0

Nie zmieniłem żadnej nazwy pakietu. Poniższe dwa kroki zadziałały dla mnie. Po wykonaniu poniższych czynności aplikacja została zainstalowana jako NOWA, mimo że istniały dwie aplikacje o tej samej nazwie pakietu.

1) W pliku build.gradle

applicationId „mynew.mynewpackage.com”

2) W pliku AndroidManifest.xml android: authority = "mynew.mynewpackage.com.fileprovider"

VARUN ISAC
źródło
-2

Cześć, znalazłem najłatwiejszy sposób na zrobienie tego.

  1. Utwórz nowy projekt z żądaną nazwą pakietu
  2. skopiuj wszystkie pliki ze starego projektu do nowego projektu (wszystkie pliki w starym.bad.oldpackage => new.fine.newpackage, res => res)
  3. skopiuj stary build.graddle do nowego build.graddle
  4. skopiuj stary Manifest do nowego Manifestu
  5. Utwórz kopię zapasową lub po prostu usuń stary projekt

Gotowe!

Martin Jovial
źródło
to nie jest najbardziej niezawodny sposób, po prostu refaktoryzacja działa, wyobraź sobie, że ktoś ma bardziej złożony projekt, który ma style, wymiary, elementy rysunkowe, biblioteki. Ta metoda zajmuje dużo czasu.
Amir Dora.
1
Jest niezawodny, jeśli będziesz postępować zgodnie z moją metodą krok po kroku, i jest bardzo szybki, jeśli zastosujesz się do nich. Po prostu zapomnij o jakiejkolwiek złożoności i pomyśl, że tworzysz nowy projekt z istniejącego źródła, a ponieważ widzę, że nie wiesz, gdzie znajdują się biblioteki do rysowania, wyjaśnię ci, a następnie musisz zagłosować za moją odpowiedź. 1 - biblioteki są w twoim build.graddle, więc jeśli utworzyłeś kopię zapasową pliku, wystarczyłoby skopiować zawartość do nowego build.graddle 2 - drawables, dimens, styles są w folderze res. więc jeśli masz oba projekty nowy / stary (pakiet) otwarty, po prostu musisz przeciągnąć / upuścić
Martin Jovial
Czasami refraktoryzacja jest bardziej skomplikowana, niż możesz sobie wyobrazić, ponieważ wypróbowałem ją bez powodzenia, a następnie używając mojej metody, każda rzecz działała jak urok
Martin Jovial
Tak Martin, zgadzam się, że to też jest jeden sposób i działa. Nie jest to jednak najszybsza metoda. Dzięki za szczegółową odpowiedź.
Amir Dora.