2013-09-08 12 views
28

Wygląda na to, że dokumentacja jest trochę cienka i zapewniam, że próbowałem ją znaleźć w Internecie, ale naprawdę nie rozumiem, jak proces programowania ma działać z phonegapem i eclipse .Rozwijanie za pomocą Eclipse i Phonegap/Cordova 3

Podążyłem za jednym z wielu samouczków i stworzyłem przykład Hello World za pomocą wiersza poleceń cordova. Następnie dodałem platformę Android i uruchomiłem kompilację. Następnie dodałem bit andoridy jako projekt w środowisku Eclipse w odniesieniu do istniejącego źródła, zgodnie z instrukcjami podanymi w katalogu podkatalogów/katalogu android. To pozwoliło mi skonfigurować emulator i wszystko działało bardzo dobrze.

Problem jaki mam teraz, to proces rozwoju.

Rozumiem, że muszę edytować pliki najwyższego poziomu, a nie te wyświetlane w katalogu zasobów projektu w czasie zaćmienia, ponieważ są one tworzone za pomocą polecenia "kompilacja". Te pliki najwyższego poziomu nie istnieją w projekcie, który utworzyłem w czasie zaćmienia, ponieważ znajdują się powyżej katalogu głównego projektu.

Moje pytanie brzmi: czy mogę wykorzystać zaćmienie, aby rozwinąć ten projekt w rozsądny sposób?

W tej chwili edytuję pliki internetowe na Androidzie, a następnie pompuję je do kompilacji chmury, kopiuję je z powrotem do drzewa. To wydaje się szalone.

Czy istnieje sposób na udostępnienie rzeczywistych plików w środowisku Eclipse, aby można je było rozwijać, a następnie łatwo budować i wdrażać na emulatorze?

PS to moja wyobraźnia, czy budowanie cordova trwa wieki!

Rozwiązanie

dodałem folder w ramach projektu Android, który jest link do lokalizacji www w katalogu głównym. Jest to pod zaawansowanymi opcjami tworzenia folderu.

+2

Automatyzacja kompilacji: kliknij prawym przyciskiem myszy na projekcie -> Właściwości -> Remont i stworzyć nową (tzn PhoneGap Budowanie Android), który wykonuje PhoneGap lokalnego build androida z katalogu projektu. Umożliwi to po prostu naciśnięcie przycisków debugowania/uruchamiania w środowisku Eclipse i rozpoczęcie debugowania. Dodatkowo może być bezpieczniej zmienić nazwę linku na oryginalną stronę www. –

+0

Czy masz problemy z ustawieniem ścieżek dla tego? – stevemarvell

+0

Nie, poszedłem prostą drogą: budowniczy wywołuje "buildphonegap.cmd", w tym ja idę do katalogu projektu i uruchamiam phonegap lokalnego budowania Androida. –

Odpowiedz

15

Aby to zrobić, należy użyć dwóch różnych projektów zaćmienia. Jedna zawierająca folder myProject/www do opracowania (nazwijmy to "projektem najwyższego poziomu") i jedną dla twojego konkretnego projektu platformy (np. Android, tak jak już zrobiłeś).

W swoim projekcie na najwyższym poziomie napisz swój kod, a jeśli masz ochotę, możesz nawet debugować do pewnego stopnia (funkcje, które nie wymagają cordova). Następnie zapisz i wpisz cordova prepare w swoim interfejsie CLI. Następnie możesz przełączyć się do projektu Android, odświeżyć (F5) i uruchomić emulator/urządzenie i szukać błędów, i zmiany w Android-Manifest. Jeśli chcesz zmienić kod, przełącz się ponownie na projekt najwyższego poziomu i powtórz to samo.

Wydaje się to nieco niefortunne, prawda. Niemniej jednak, pomyśl o tym, że cordova nie jest przeznaczona tylko do programowania na Androidzie, ale również na ios, Windows Phone, BlackBerry, ... Aby uzyskać dostęp do wszystkich tych platform, musisz przejść na wiele ideów. To sprawia, że ​​o wiele łatwiej jest mieć kod najwyższego poziomu w niezależnym projekcie.

Niektóre sidenodes:

  1. Po wykonaniu tego procesu kilka razy, tracisz nie więcej niż 2 lub 3 sekundy do cordova prepare i przełączać projektów. Co jest w porządku, myślę.

  2. Ja sam nie używam tylko różnych projektów zaćmienia, korzystam nawet z różnych instalacji zaćmienia.Wydawało mi się to lepsze dla mnie, ponieważ chroni mnie przed myleniem plików na najwyższym i niskim poziomie.

  3. Nawet jeśli rozwijasz tylko dla Androida, powinieneś użyć dwóch różnych projektów, ponieważ "cordova prepare" (lub każde polecenie cli zawierające przygotowanie, jako kompilację, emulowanie i uruchamianie) nadpisze/usunie twoje pliki.

  4. Na mojej instalacji, budynek z CLI zajmuje tyle samo czasu, jak ma to miejsce w Eclipse. Co ma sens, ponieważ używam tego samego sdk dla obu. Jednak w powyższym procesie nie ma potrzeby korzystania z polecenia cli-build.

  5. Jeśli używasz tylko platformy Android i nie dajesz się łatwo pomylić z plikami o tej samej nazwie w jednym projekcie, możesz połączyć folder myApp/www w swoim projekcie Android. W tym przypadku, trzeba będzie tylko jeden projekt (Kredyt dla tej odpowiedzi idzie stevemarvell siebie, im po prostu dodając to tutaj dla kompletności)

+0

Wielkie dzięki za długą i przemyślaną odpowiedź. Przyjąłem twoją strategię i uznałem ją za odpowiednią. Przynajmniej teraz wiem, że nie ma żadnej sztuczki, której mi brakuje. Jest najbardziej kłopotliwe nie mając Cordova pliki js na najwyższym poziomie, choć jest to tylko kłopot i nie przeszkadza w testowaniu przeglądarki na html5/jQuery kodu. Zauważyłem zmniejszenie czasu budowy po pierwszym, co jest miłe. – stevemarvell

+0

@stevemarvell Nie ma za co.Niemniej jednak, zastanawiam się, czy coś nie wyszło w końcu, jak nieakceptowałeś mojej odpowiedzi, po zaakceptowaniu go na początku ... :) – miwe

+0

Tak, jest to zaakceptowana odpowiedź, ale uznałem, że moja osoba jest pełniejszym rozwiązaniem. Jednak po odbiciu czuję się źle i dlatego będę aktualizował :) Nowość w protokole tutaj. – stevemarvell

0

oprócz rozwiązania powyżej, i stworzył „zewnętrznych narzędzi "konfiguracja, która uruchamia narzędzie phonegap z opcjami" local build android "i zmienną środowiskową PATH ustawioną na"/opt/local/bin:/usr/bin:/bin "na moim Macu. stamtąd zainstalowałem narzędzia Eclipse CDT i użyłem funkcji "Launch Group" do uruchomienia zewnętrznego narzędzia z projektu najwyższego poziomu przed wywołaniem debugowania w projekcie specyficznym dla platformy.

wydaje się dość dobrze. Niestety, projekt na najwyższym poziomie nie "zapamięta" wykonania grupy uruchamiania, więc za każdym razem muszę wybrać ją z menu debugowania. Przekształciłem projekt najwyższego poziomu w JavaScript jako test, ale to nie pomogło, a "Ustawienia uruchamiania/debugowania" w oknie Właściwości projektu są wyszarzone.

Powiązane problemy