Apache Cordova - konfiguracja środowiska18.X.2014
Spis treści
- Przygotowanie środowiska Windows w wersji 7+
- Rozszerzenie o platformy dodatkowe
- Problemy z Apache Cordova
- Strony zawierające ciekawą treść powiązaną tematem
Przygotowanie środowiska Windows w wersji 7+
Aby przygotować sobie środowisko, na którym będzie można tworzyć aplikacje hybrydowe za pomocą Apache Cordova, należy postępować wg. poniższych punktów.
- Instalacja NodeJS
- Instalacja JDK
- Instalacja Ant
- (Opcjonalnie) Instalacja Gradle koniecznie w wersji 1.10
- Instalacja ADT wraz z środowiskiem Android-19 (4.4.2)
-
Weryfikacja zmiennych środowiskowych (na podstawie wymagań projektu Apache Cordova).
ANDROID_HOME="C:\android\sdk" ANT_HOME="c:\ant" GRADLE_HOME="c:\gradle" JAVA_HOME="C:\Program Files\Java\jdk1.8.0_05" NODE_PATH="%AppData%\npm\node_modules"
Oraz rozszerzamy zmiennąPATH
o wartość:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%JAVA_HOME%\bin;%ANT_HOME%\bin;%GRADLE_HOME%\bin
Weryfikujemy instalację wykonując poleceniajavac
orazant
. Jeśli coś się nie wykonuje to znaczy, że w konfiguracji jest coś nie tak. -
Instalacja pakietu Apache Cordova (tu z pomocą przychodzi istrukcja do PhoneGap)
\> npm install -g cordova \> cordova create hello com.example.hello HelloWorld \> cd hello \> cordova platform add android \> cordova platform ls \> cordova build \> cordova build android
Co skutkuje stworzeniem i skompilowaniem przykładowej wersji pod platformę Android do lokalizacji
hello\platforms\android\ant-build\CordovaApp-debug.apk
. Aplikację później można łatwo zainstalować poleceniemadb install CordovaApp-debug.apk
. Jej wygląd przedstawiony jest na obrazku.Kod źródłowy aplikacji znajduje się lokalizacji
hello\www
. Jest tam plikindex.html
, który można wyświetlić w przeglądarce ale nie pojawi się już komunikat "Device is ready" tylko "Connecting to device".
Rozszerzenie o platformy dodatkowe
Ponieważ w Apache Cordova można tworzyć aplikacje jednocześnie pod wiele platform wygodnie jest rozwijać je najpierw w przeglądarce internetowej a dopiero potem publikować wyniki pracy na urządzenie mobilne (z resztą sama oficjalna strona Apache Cordova stwierdza, że ta platforma jest tylko do celów tworzenia aplikacji - pewnie przynajmniej na razie). Niestety otworzenie pliku www/index.html
nie zadziała poprawnie gdyż nie wykonają się zdarzenia standardowo wykonywane na platformie Apache Cordova. Dlatego wpisując polecenie:
\> cordova platform add browser
\> cordova build browser
\> cordova emulate browser
dodajemy nową platformę jako witrynę sieci Web i uruchamiamy w domyślnej przeglądarce. Zamiast emulate
można użyć opcji, która uruchamia pod adresem http://localhost:8000/
stronę z której można obejrzeć działanie aplikacji.
\> cordova serve
Problemy z Apache Cordova
Czasami po kompilacji gdzie wcześniej była zmieniana zawartość katalogu www
może pojawić się komunikat:
android/sdk/tools/ant/build.xml:659: java.lang.ArrayIndexOutOfBoundsException: 1
[...]
BUILD FAILED
Total time: 2 seconds
Error code 1 for command: ant with args: debug,-f
Rozwiązać poniższy problem można w sposób opisany na StackOverflow: Cordova won't build anymore. Lub jeśli nie mamy ważnych plików związanych z konkretną platformą można wykonać operację usunięcia i dodania platformy raz jeszcze:
\> cordova platform rm android
\> cordova platform add android
\> cordova build android
Strony zawierające ciekawą treść powiązaną tematem
- [1] - http://goratchet.com/ - Interfej użytkownika stworzony przez twórców Bootstrap'a.