Ve de l'article general Cordova.
Aquí s'especifiquen detalls de la instal·lació.
Per poder seguir aquest article se suposa que has de tenir coneixements de JavaScript, HTML i CSS.
Si tens coneixements molt bàsics també t'interessaria repassar els conceptes del DOM o Document Object Model.
Abans de començar a treballar amb Cordova caldrà que tinguem instal·lats els entorns de desenvolupament: llegeix Java i Android primerament.
Per instal·lar Cordova necessites un bon plegat d'eines. De forma general necessitaràs:
En cas de que puguis treballar en un Mac, hauràs d'instal·lar Xcode (des de la pròpia AppStore) i activar les CLI (Command Line Interface) Tools. En la versió Xcode 10 (High Sierra) seria:
XCode -> Preferences -> Locations -> Command Line Tools
MacOS: Instal·lació de Cordova per a MacOS.
Tens algun material per començar amb Cordova a Cacauet.org
$ sudo snap install android-studio --classic
$ javac -version
$ sudo apt update $ sudo apt install default-jdk
ANDROID_HOME
:$ export ANDROID_HOME=~/Android/Sdk
~/.profile
(afegiu-lo al final del fitxer). Si no, caldrà que facis l'export cada cop que obris una shell per treballar amb Cordova.npm
. ULL! Ha de ser la versió LTS.n
:$ sudo apt update $ sudo apt install nodejs npm $ sudo npm install -g n $ sudo n lts $ node --version
$ sudo apt update $ sudo apt install nodejs npm
$ sudo npm install -g cordova
$ sudo add-apt-repository ppa:cwchien/gradle $ sudo apt install gradle
snap
:$ sudo snap install gradle --classic
$ gradle -v
La seqüência típica per iniciar un projecte és com s'indica a continuació:
$ cordova create proj1
$ cd proj1
$ cordova platform add android
$ cordova build android
$ cordova run android
De vegades no arrenca bé l'emulador. Pots obrir-lo des del Android Studio, però llavors el IDE consumeix força recursos, i complica l'execució. Si tanques el projecte (File → Close Project
a Android Studio) pots obrir el AVD Manager des de la pantalla d'inici d'Android Studio a Configure → AVD Manager
.
També pots provar d'arrencar l'emulador des de la línia de comandes, com explica la doc oficial https://developer.android.com/studio/run/emulator-commandline
$ emulator -avd <el_meu_emulador>
Per exemple:
$ emulator -avd Pixel_2_API_28
Per córrer l'aplicació sobre un device real només cal que afegiu –device
a la comanda:
$ cordova run android --device
Abans, però, caldrà que configureu el vostre dispositiu en mode developer buscant les dades del dispositiu i clicant 7 cops seguits al nº de compilació. Després activeu la Depuració USB.
Si no et deixa crear una màquina virtual al Android Studio pq li falten permisos d'execució a KVM:
$ sudo chmod 777 /dev/kvm
Si al llançar el run
ens dona errors en Ubuntu perquè no troba les llibreries (SDK, JDK), executa:
export ANDROID_HOME=~/Android/Sdk
El millor és que incloguis aquestes darreres instruccions a l'arxiu ~/.profile
del teu home directory i així no caldrà picar-les cada cop que vulguis treballar amb Cordova. Si ho fas, per tal de no reiniciar la màquina, pots carregar l'script manualment:
$ source ~/.profile
Alguna comanda no et funciona, és perquè necessita estar al PATH per poder ser trobada.
Cerca «variables» amb el cercador de Windows i t'hauria de facilitar accedir a les variables d'entorn. Modifica la variable PATH per afegir el què et calgui, com per exemple Gradle o el Android SDK que sol estar a:
\Users\usuari\AppData\Local\Android\Sdk
Però cerca abans per assegurar-te d'on son exactament les eines.
Si es queixa de:
No usable Android build tools found. Highest 30.x installed version is 30.0.2; minimum version required is 30.0.3
Android Studio -> Tools -> SDK Manager -> Android SDK -> SDK Tools
i activant Show package details
.
Si tenim una versió de Java diferent de la 11 no ens funcionarà. Això ho pots saber amb:
$ java -version
Si en tenim una altra, podem instal·lar en paral·lel amb la 11 amb:
$ sudo apt install openjdk-11-jdk
I posar la 11 com a versió per defecte amb:
$ sudo update-alternatives --config java $ sudo update-alternatives --config javac
Si es queixa de que no troba JAVA_HOME, l'haurem d'afegir a l'arxiu .profile
:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
Si aquest no fos el path adequat de JAVA_HOME us donaria un error. Mireu quin és buscant on està la ruta del compilador java
$ ll `which javac` $ ll /etc/alternatives/javac
Si es queixa de que li falta gradle, l'instal·lem.
Instal·lar gradle per a GNU/Linux:
$ sudo add-apt-repository ppa:cwchien/gradle $ sudo apt install gradle
Instal·lar gradle per a Windows:
PATH
per tal que inclogui C:\Gradle\binInstal·lar gradle per a MacOS: …coming soon… probablement brew install gradle
I ja pots tornar a provar el cordova run android
Si es queixa de que li falten llicències per acceptar, entra a Android Studio → SDK Manager
i accepta les llicències pertinents. També ho pots fer per comandes:
$ ~/Android/Sdk/tools/bin/sdkmanager --licenses
Treballant amb Apple podem trobar alguns problemes una mica diferents.
Les variables d'entorn cal ajustar-les d'aquesta manera (en macos Monterey):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home/ export ANDROID_HOME=~/Library/Android/sdk
També hi ha un problema amb el nom dels executables del compilador DX. Cal renombrar o fer un symlink als arxiu d8
i lib/d8.jar
(en la meva instal·lació estan a ~/Library/Android/sdk/build-tools/32.0.0-rc1
).
A la versió Xcode 10 tenim una issue que ens fa afegir un paràmetre una mica incòmode a la línia de comandes:
$ cordova build ios --buildFlag='-UseModernBuildSystem=0' $ cordova run ios --buildFlag='-UseModernBuildSystem=0'
Sembla que a partir de Xcode 11 ja no apareix aquest problema.
Si falla amb el missatge
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Aquest post explica la solució:
$ sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer