2012-08-29 7 views
21

Mam w pełni działający projekt (powiedzmy jego nazwę "mygame") na dysku, który zawiera wiele działań. Aktywność, która zostanie wywołana jako pierwsza, nazywa się "launcher". Chciałbym, aby projekt został nazwany "com.mycompany.mygame", ale kiedy robię projekt importu w Eclipse i wybieram katalog główny mojego projektu, pojawia się okno dialogowe z informacją, że projekt, który znajduje się w tym katalogu to "com .mycompany.mygame.launcher "bez możliwości zmiany. Moje pytanie brzmi, co to jest zaćmienie, aby stwierdzić, że mój projekt ma nazwę "com.mycompany.mygame.launcher"? Czy to coś w manifeście?W jaki sposób Eclipse zna nazwę twojego projektu?

+1

Funkcja importu została zmieniona po jednej z ostatnich aktualizacji ADT (r20, jeśli przywołuję) i nie pozwala już edytować nazwy projektu w fazie importu projektu. Jeśli zachowasz .classpath i .project ze swoim źródłem, możesz użyć opcji 'Plik - Importuj .. - Ogólne - Istniejące projekty w obszarze roboczym' zaimportuj swój projekt, który pobierze z .project jako domyślną nazwę projektu. Con jest tą generowaną przez Eclipse .classpath i .project może nie działać, gdy przechodzimy przez różne wersje systemu operacyjnego lub Eclipse. – yorkw

+0

Czy nazwa tego pakietu znajduje się w dowolnym miejscu w pliku AndroidManifest.xml? – Hartok

+0

Bezpośrednio u góry jest napisane: package = "com.mycompany.mygame" – Mick

Odpowiedz

14

Myślę, że zaćmienie ma nazwę klasy, która rozszerza Activity. Ponieważ po rozszerzeniu jakiejkolwiek innej paczki, takiej jak Fragment itp., Nie utworzy ona domyślnego Launchera dla tej konkretnej klasy. Tak więc, gdy nazwa klasy z manifestem wskazuje na program uruchamiający zostanie zaimportowana wzdłuż Albo przyłączy nazwę klasy. o nazwie pakietu:

8

Czy chodziło Ci o zmianę nazwy projektu? Jeśli tak, możesz sprawdzić plik .project znajdujący się w folderze głównym projektu.

+0

Plik ".project" zawiera linię mygame i na pewno nie zawiera tekstu com.mycompany.mygame.launcher, więc nadal nie jestem mądrzejszy :-( – Mick

+0

Czy mogę zrozumieć tak: Twoja nazwa projektu to 'mygame', a domyślnym pakietem jest' com.mycompany.mygame' .Ale podczas importowania tego projektu do zaćmienia pakiet domyślny został zmieniony na 'com.mycompany .mygame.launcher'? Jeśli tak, czy istnieje folder, którego ścieżka jak '% PROJECT_ROOT%/src/com/mojafirma/mygame/launcher' lub'% PROJECT_ROOT%/launcher'? – wodong

+0

Ther nie jest katalogiem "launcher". Pliki ".java" są w% PROJECT_ROOT%/src/com/moja_firma/mygame/ – Mick

4

w Eclipse, kliknij prawym przyciskiem myszy swój projekt Narzędzia Androida -> Zmień nazwę pakietu aplikacji, zmienić nazwę na com.mycompany.mygame

+0

To może być ważne - ale tak naprawdę nie odpowiada na moje pytanie. – Mick

+1

dlaczego nie jest to odpowiedź na twoje pytanie ?, proszę podać więcej szczegółów –

+1

Właściwie mam wiele pakietów, które przenosię z jednego komputera na drugi, nie chcę, aby proces zmiany nazwy w kółko, jeśli mogę to naprawić raz i dla wszystkich ... Poza tym miałem tak wiele agresji w zaćmieniu, że im więcej mogę się dowiedzieć, jak to działa, tym lepiej sobie poradzę, gdy coś pójdzie nie tak w przyszłości. Jestem też ciekawy. – Mick

3

W swoim pliku manifestu atrybut name w jawnym tagu pokaże pakiet name.Also Przeglądarka pakietów w eclipse wyświetli nazwę pakietu. Jeśli na przykład twoja nazwa pkg to com.cmpny.game, to twój folder src będzie zawierał src> com> cmpny> game> foldersa, a wewnątrz będzie twój kod zapisany.

2

Myślę, że dzieje się tak ze względu na strukturę katalogów dla wszystkich aplikacji tego samego typu, ponieważ wszystkie aplikacje zawierają pewne pliki/foldery w folderze głównym, który jest nazwą naszej aplikacji, np. projekt android zawiera pliki takie jak .project i .classpath i foldery jak .myeclipse src bin .settings etc

3

w każdym projekcie znajduje się plik o nazwie .project który jest odpowiedzialny za nazwą projektu

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>PROJECTNAME</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
    ........ 
    </buildSpec> 
    <natures> 
    ....../natures> 
</projectDescription> 
1

W projec Katalog ts jest .project utworzony przez eclipse! kiedy importujemy projekt, wyszukuje ten plik i zbiera informacje związane z projektem z tego pliku. Tak to się robi. Jeśli usuniesz ten plik tylko w celu sprawdzenia, czy eclipse nie rozpozna tego katalogu jako projektu!

4

Dlaczego używasz funkcji zaćmienia "importuj istniejący projekt do obszaru roboczego"?

Powinieneś użyć funkcji "Nowy projekt Android -> Utwórz projekt z istniejącego źródła" (nie wiem, jak te opcje dokładnie pojawiają się w twoim zaćmieniu, więc musisz je znaleźć) W ten sposób możesz zmień nazwę na dowolną.

Twoja druga opcja może być: Zaimportuj istniejący projekt do obszaru roboczego (tak jak już to robisz). Po zakończeniu procesu importowania pozostaw nazwę projektu w niezmienionym stanie, a następnie , możesz zmienić nazwę projektu na dowolną,.

6

Podobny do twojego problemu, gdy próbuję Import ->Android ->Existing Android code w obszarze roboczym, nazwa jest wyłączona.

Dla tych, którzy skomentowali i byli zdezorientowani, pytanie o to, że Eclipse importuje projekt jako nazwę pierwszego działania (łącznie z przestrzenią nazw).

To importuje projekt jako com.company.app_name.first_activity_in_the_manifest

I zostały posiadające ten problem na chwilę. Znalazłem rozwiązanie dla mojego projektu. Ponieważ jest to repozytorium git, muszę wykonać Import ->Git ->Projects from Git -> .

Następnie importuje poprawnie i nie ma skutków ubocznych wymienionych tu rozwiązań, importując istniejący kod do nowego projektu (który prawdopodobnie usunąłby mój link do repozytorium git).

3

Nazwa ADT wyświetlana w eksploratorze pakietów może nie być nazwą w pliku .project. Aby to zmienić, kliknij prawym przyciskiem myszy nazwę -> Refactor -> Rename. Zmień nazwę za pomocą "Aktualizuj odniesienia". Upewnij się, że nazwa, której szukasz, jest unikatowa na liście eksploratora pakietów.

Powiązane problemy