Application android / ios avec cordova

26/12/2014

installer cordova + android

installer nodejs : http://nodejs.org/

npm install -g cordova
ou npm install -g cordova@3.6.3-0.2.13

jdk android: http://www.oracle.com/technetwork/java/javase/downloads/index.html
dans l'environnement :

  • créer JAVA_HOME pointant vers la racine du dossier jdk.
  • ajouter dans path : %JAVA_HOME%;%JAVA_HOME%\bin;

SDK Android http://developer.android.com/sdk/index.html
ajouter les dossiers tools et platform-tools dans le PATH

apache ant : http://ant.apache.org/bindownload.cgi
ajouter le dossier bin dans le path

lancer android et installer toutes les libs necessaires
(les tools + les sdk de la version 19 par exemple : cordova veut la 19)

tester les binaires en console : java, ant et android
la commande android ne marche que dans la console cmd
sur mac :

sudo npm install -g ios-deploy
sudo npm install -g ios-sim

dans ~/.bashrc et ~/.profile

export PATH=/Users/irina/Downloads/adt-bundle-mac-x86_64-20140702/sdk/platform-tools:/Users/irina/Downloads/adt-bundle-mac-x86_64-20140702/sdk/platform:/Users/irina/Downloads/adt-bundle-mac-x86_64-20140702/sdk/tools:$PATH

homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install ant

créer un projet

cordova create ecni fr.domaine.app "ECNi.fr"
aller dans le dossier

pour android

cordova platform add android
cordova build android
cordova run android
cordova emulate android

pour ios

cordova platform add ios
cordova build ios
cordova run ios

pour générer les icônes

sudo npm install cordova-icon -g

sur mac:

brew install imagemagick

sur windows, installer http://www.imagemagick.org

pour installer des plugins

npm install -g plugman

sur windows il faut faire ca pour que ca plante pas

mkdir -p C:/Users/raf/AppData/Local/Temp/plugman/git

pushplugin : cordova plugin add https://github.com/phonegap-build/PushPlugin
device : cordova plugin add org.apache.cordova.dialogs
dialogs : cordova plugin add org.apache.cordova.device

pour tester direct sur le telephone android

sur le telephone il faut activer le debogage USB.
Settings > Applications > Development
ou
Settings > Developer options
ou
si il y a rien commencer par aller dans « a propos » et cliquer 7 fois sur build version.

publier application android

genere l'apk non signé

cordova build --release android

1 seule fois pour obtenir le fichier keystore

keytool -genkey -v -keystore ecni.keystore -alias ecni -keyalg RSA -keysize 2048 -validity 10000

signe l'apk

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ecni.keystore platforms/android/ant-build/ECNi-release-unsigned.apk ecni

aligne (optimise) l'apk

rm ECNi.apk
zipalign -v 4 platforms/android/ant-build/ECNi-release-unsigned.apk ECNi.apk

publier application iphone

cordova build ios --release

ouvrir le projet xcode généré et à cote du bouton play en haut a gauche choisir target ios device
cliquer sur le projet dans l'explorateur en haut a gauche,
aller dans l'onglet build settings,
code signing : iphone distribution (K8GF3C6H5N)
provisionning profile : xc.net.gextra.app (provisionning de distribution)
team : "2i inter investissements" en minuscules

ensuite faire product > archive / export

dans la fenêtre qui s'ouvre il doit y avoir une application
faire distribution puis "entreprise or ad hoc"
et on obtient un fichier ipa de merde qui devrait pouvoir se foutre sur un iphone.

ps: si on veut faire un ad hoc il faut a tout prix mettre ad hoc dans signing et dans archive.

telecharger Application loader
mettre le compte itunes store

vider les mobile provision de xcode

si on a trop de mobile provision installés dans xcode ou qu'on comprends plus rien

rm -rf /Library/MobileDevice/Provisioning Profiles/*

reparer l'erreur “Failed to locate or generate matching signing assets” when publishing

In keychain access, -> Show Expired Certificates, then in your login keychain click on expired certificate and delete it. I also had the same expired certificate in my System keychain, so I deleted it from there too.

Download https://developer.apple.com/certificationauthority/AppleWWDRCA.cer and add it to Keychain access

check icons for ios

57 x 57 --> Icon.png (iPhone)
114 x 114 --> Icon@2x.png (iPhone Retina)
72 x 72 --> Icon-72.png (iPad)
144 x 144 --> Icon-72@2x.png (iPad Retina)

open ProjectName-Info.plist and check icon list