Jak zmienić nazwę pakietu projektu Android w Eclipse?


132

Mam projekt na Androida utworzony w Eclipse . Chcę zmodyfikować nazwę pakietu i zastosowanie projektu. Jak to zrobić w Eclipse?


3
Odpowiedź @ vamsu jest poprawna, a nie ta, którą oznaczyłeś. Proszę to zmienić.
OMGPOP

Odpowiedzi:


129

Jak zwykle, naciskając F2nazwę pakietu, możesz zmienić lub zmienić nazwę pakietu, a także klikając prawym przyciskiem myszy, a następnie wybierając Renameopcję, możesz zmienić lub zmienić nazwę pakietu.

Po naciśnięciu F2wyświetli okno dialogowe jako:

Tekst alternatywny

W tym oknie dialogowym nie zapomnij zaznaczyć pola wyboru "Aktualizuj odniesienia", ponieważ zaznaczając to pole wyboru, wprowadzisz zmiany we wszystkich odniesieniach pakietu, do których odwołują się inne komponenty projektu.


5
prawy przycisk myszy> Zmień nazwę nie wydaje się być opcją w Eclipse Helios F2, ale nazwa pakietu działa.
t0s

2
Po prostu nie zapomnij o pliku XML, ponieważ musisz go zaktualizować ręcznie.
Alaa Eldin

2
nie musisz aktualizować manulay XML .. przejdź do wyszukiwania> plik> com.yourpackage> zamień> nowy Nazwa pakietu
arkusz

Poszukaj Renamepolecenia poniżej, Refactorjeśli nie znajduje się ono w katalogu głównym menu kontekstowego.
A-Live

6
Hej, to w rzeczywistości projekt na Androida, więc nie będzie się kompilować w ten sposób! Aby zmienić nazwę pakietu, musisz użyć narzędzi Android Tools, jak mówi @vamsu.
SolessChong

141

To jest błąd w narzędziach Eclipse na Androida .

Aby naprawić: Kliknij prawym przyciskiem myszy projekt, przejdź do Narzędzia Android -> Zmień nazwę pakietu aplikacji.

A także sprawdź, AndroidManifest.xmlczy został poprawnie zaktualizowany. W moim przypadku tak się nie stało i to powinno rozwiązać ten problem.


11
To zadziałało dla mnie w następujący sposób. Zmienił wszystkie pliki w folderze gen i AndroidManifest.xml. Potem wróciłem do mojego pakietu (w folderze src), który się nie zmienił. Poprawiłem Kliknij prawym przyciskiem myszy -> Refaktoryzuj -> Zmień nazwę. Wprowadzono nową nazwę i bingo. Sporządzono
Austin,

Dzięki! W ten sposób OK. Akceptacja powoduje awarię mojej aplikacji
LE SANG

11

Żaden z nich nie zadziałał, wszystkie wprowadzały błędy.

Pracowały dla mnie:

  • Kliknij projekt prawym przyciskiem myszy i wybierz Narzędzia Android >> Zmień nazwę pakietu aplikacji.
  • Wprowadź nową nazwę pakietu
  • Zaakceptuj wszystkie automatyczne zmiany, które chce wprowadzić
  • Powiedz tak, aby zaktualizować konfigurację uruchamiania

Wowww !! to jest idealne.
Favas Kv

9

Jedna niezwykle ważna uwaga:

NIGDY nie używaj bezpośrednich nazw pakietów, jak w czymś podobnym do przekazywania wartości ciągu zawierającej nazwę pakietu. Użyj metody getPackageName (). Dzięki temu zmiana nazwy będzie dynamiczna. Zrób wszystko, aby dotrzeć do metody getPackageName ().

W Eclipse Juno prawidłowy sposób zmiany nazwy to:

  1. Idź i edytuj manifest.
  2. Usuń wszystkie stare nazwy pakietów z manifestu.
  3. Umieść zamiast starej nazwy pakietu nową nazwę pakietu w każdym miejscu w manifeście. Możesz mieć klasy (czyli działania), które wymagają bezpośrednich odwołań do nazw pakietów.
  4. Zapisz manifest.
  5. Następnie kliknij prawym przyciskiem myszy nazwę pakietu w projekcie.
  6. Wybierz „Refaktoryzuj”.
  7. Wybierz „Zmień nazwę”.
  8. Wpisz nową nazwę pakietu.
  9. Wybierz „aktualizuj odniesienia”.
  10. Naciśnij OK i gotowe i uważaj również, co należy zrobić, aby zastąpić nową nazwę.
  11. Nie zapomnij również zaktualizować plików XML układu o nową nazwę pakietu. Możesz mieć niestandardowy widok. Szukać ich.

7
 Right click on your project name and select Android Tools , then click 
 Rename Application Package, then change your project name click OK and 
 click Finish.

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj


4

Aby zmienić nazwę aplikacji w systemie Android, przejdź do res/values/strings.xmli zmień żądaną nazwę app_name.


7
Nazwa pakietu jest inna niż nazwa aplikacji!
Cheung,

4

Po prostu kliknij prawym przyciskiem myszy nazwę projektu i wybierz narzędzia Android, a następnie kliknij Zmień nazwę pakietu aplikacji i zmień jego nazwę. Dotyczy tylko projektów na Androida.


2

Naciśnij, F2a następnie zmień jego nazwę (lub kliknij prawym przyciskiem myszy projekt i wybierz Rename). Zmienia się wszędzie tam, gdzie ten pakiet jest zadeklarowany w Twoim projekcie. Jego nazwa jest automatycznie zmieniana.


2

Idź do Src folderu projektu systemu Android i otwórz plik Java.

Zmień pakiet OldName.android.widgetnanewName.android.widget .

Daje ci taki błąd

Zadeklarowany pakiet „newName.android.widget” nie pasuje do oczekiwanego pakietu „OLDName.android.widget.

Aby rozwiązać ten problem, wybierz Przenieś nazwę pliku.Java do Newname.android.widget i usuń stary folder pakietu.

Następny krok: przejdź do AndroidManifest.xmli zmień package="OldName.android.widget"na package="newName.android.widget".


2

To zadziałało idealnie dla mnie (proste zastąpienie tekstu):

Przejdź do wyszukiwania -> plik

Zawiera tekst: stara nazwa opakowania

Wzorzec nazwy pliku: *

Zakres: obszar roboczy

Naciśnij Zamień

Zastąp: nowa nazwa pakietu

Teraz Twój projekt jest pełen błędów.

Kliknij swój pakiet w eksploratorze projektów i naciśnij F2 (zmień nazwę).

Wpisz nową nazwę pakietu i zaznacz wszystkie znaczniki wyboru.

Naciśnij Podgląd .

Kliknij OK .

Poczekaj, aż Eclipse się odświeży. Jeśli nadal występują błędy, wyczyść wszystkie projekty w obszarze roboczym:

Projekt -> Wyczyść


2

Nic z tego nie zadziałało, dopóki nie połączyłem dwóch odpowiedzi wymienionych w tym poście.

Krok 1: Kliknij prawym przyciskiem myszy projekt -> Wybierz Narzędzia Android -> Zmień nazwę pakietu aplikacji. (Spowoduje to zmianę wszystkich plików w folderze gen i AndroidManifest, ale nie zmieni nazwy pakietu w folderze src, więc wykonałem krok 2)

Krok 2: Wewnątrz folderu src Kliknij prawym przyciskiem myszy nazwę pakietu -> Refaktoryzuj -> Zmień nazwę -> Wprowadź nową nazwę, którą wprowadziłeś w Kroku 1.

Tylko po to, aby upewnić się, że sprawdź AndroidManifest, czy nadal istnieje stara nazwa pakietu i zastąp nową (w moim przypadku wewnątrz tagu „uses-Permissions”).

Następnie zamknij Eclipse i otwórz je ponownie. Odinstaluj aplikację z urządzenia i zainstaluj ją ponownie, a wszystko powinno działać poprawnie.

Mam nadzieję, że to pomoże i oszczędza Twój czas.


1

OK, oto co musiałem zrobić:

Problem: Miałem projekt podstawowy, którego chciałem użyć jako punktu wyjścia dla kilku innych projektów, które znajdowałyby się w tym samym obszarze roboczym co projekt podstawowy. Projekt podstawowy był już pod kontrolą GiT w moim własnym lokalnym repozytorium. Nadszedł czas, aby zduplikować projekt podstawowy „MyBaseApp”, aby stać się punktem wyjścia dla „MyKillerApp”.

Rozwiązanie:

  1. Właśnie zduplikowałem ogólny katalog MyBaseApp jako MyKillerApp i umieściłem te dwa katalogi obok siebie.
  2. Edytowałem plik MyKillerApp ->. Project i zmieniłem nazwę z MyBaseApp na MyKillerApp. (Było to konieczne, aby krok 3 zadziałał).
  3. Otworzyłem Eclipse i wykonałem Plik-> Import MyKillerApp (pominąłem kilka szczegółów na temat korzystania z menu Importuj, ale kliknij, aby dowiedzieć się).
  4. Kliknąłem prawym przyciskiem myszy MyKillerApp w menedżerze pakietów i wybrałem Narzędzia Android-> Zmień nazwę pakietu aplikacji na MyKillerApp. Sprawdziłem wszystkie opcje zmiany nazwy z wyjątkiem ostatniego pola wyboru dotyczącego plików innych niż java.
  5. Podświetliłem src-> com.myname.MyBaseApp w menedżerze pakietów i wykonałem F2 do MyKillerApp. Następnie zrobiłem to samo z kilkoma klasami, w tym z klasą zajęć otwierających, która trafia do pliku AndroidManifest.xml.
  6. Musiałem zaktualizować kilka nazw wywołań funkcji, ale kompilator wskazał mi je z łatwością.

W ten sposób miałem nowy projekt pochodzący z projektu podstawowego bez nomenklatury pozostałej z projektu podstawowego i znajdował się on we własnym lokalnym repozytorium GiT.


1

Następujące działały dla mnie w zaćmieniu:

Przejdź do AndroidManifest, wyszukaj i zamień starą nazwę pakietu na nową i zaktualizuj wszystko podczas zapisywania. Przejdź do głównego pakietu projektu, a następnie naciśnij klawisz F2, wpisz nową nazwę i zaznacz pola wyboru Aktualizuj odwołania i Zmień nazwę podpakietów. Po tym wszystko było czerwone w projekcie (narzekałem na import R dla każdego pliku java), ponieważ nie zmieniało to tagu zamykającego moich niestandardowych widoków w plikach XML układu. Po ręcznej zmianie tych ustawień wszystko wróciło do normy. To jest to.


0

Zmiana nazwy aplikacji - kompletny przewodnik

**A) for changing Just the application name
   (App name which is displayed below icon)
    in the Manifest.xml file, in <application tag, 
    android:label="YourAppName"
    then do the same in All the <activity Tags        

  B) For changing EVERYTHING 
   (folder names, Package names, Refrences,app name, etc.)
  *1) Renaming package names in gen folder and manifest.xml
      Right Click on Your project
      Android tools- Rename Application Package

  *2) Renaming package names in src folder 
      Expand src folder, Click on package (Single click) 
      Press Alt+Shift+R
      Check Update references and Rename subpackages      
   3) Renaming the app's main Folder (Optional)
      click on the application's folder (Single click)
      then Press Alt+Shift+R 

   4) Renaming application name- Refer "A)"**

0

Po prostu pobierz Far Manager i wyszukaj starą nazwę. Następnie ręcznie (w Far Manager) wymień wszędzie. Niestety jest to jedyna metoda, która działa w 100% możliwych przypadków.


0

Ja też miałem z tym duży problem.

Zmieniłem nazwę projektu i pakietu przez refaktoryzację, ale spowodowało to, że aplikacja stała się bezużyteczna. Zmieniłem nazwę z powrotem na oryginał i użyłem narzędzi Androida do zmiany nazwy pakietu i to zadziałało, ale mój folder pakietu i klasy miały starą nazwę.

Następnie refaktoryzowałem folder pakietu. Teraz aplikacja nie działała. Mój manifest był bałaganem. To podwoiła się moje wyrzutni nazwę np com.ronguilmet.app/com.ronguilmet.com.class. Naprawiłem to i musiałem ręcznie edytować wszystkie działania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.