====== Déploiement Android sur une solution Cordova ======
===== Etapes =====
- Tester l'application
- Release
- Erreurs et solutions
===== Tester l'application =====
Déployer l'application sur un device android physique.
- Brancher à votre PC en USB
- Autoriser le débuggage USB
- Autoriser la liaison
- Déverouiller le téléphone
cordova run android --device
===== =====
===== Release =====
Générer une release qui se base sur les paramètres du config.xml
''cordova build --release android''
Un fichier se terminant par "release-unsigned.apk" est créé dans le chemin suivant :'' ''''\platforms\android\build\outputs\apk'' \\
Maintenant nous devons signer et optimiser l'apk pour le store. **Etape keytool seulement pour le premier déploiement. Ensuite il faudra garder le fichier pour pouvoir mettre à jour l'application** Déplacez-vous jusqu'au fichier apk créé puis générer votre clé privée avec keytool
''keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000''
Si vous n'avez pas configuré votre path pour utiliser cette commande (not found)
"C:\Program Files\Java\jre1.8.0_121\bin\keytool.exe" -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Pour signer l'APK, executez l'outil jarsigner (inclus jdk) avec le keystore et l'apk au même niveau.
TODO
"C:\Program Files\Java\jdk1.8.0_121\bin\jarsigner.exe" -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore interaction.keystore android-release-unsigned.apk interactioninterim
Si vous ne retrouvez pas le keystore alias :
''keytool -list -keystore .keystore''
Le fichier devrait maintenant être signé. Nous avons plus qu'à utiliser ''zipalign ''pour optimiser l'apk. Zipalign peut être trouvé dans ''/path/to/Android/sdk/build-tools/VERSION/zipalign''
''"C:\Android\sdk\build-tools\25.0.0\zipalign.exe" -v 4 android-release-unsigned.apk interactions.apk''
Un fichier interactions.apk devrait être généré.
===== Erreurs et solutions =====
**Erreur google services :** Supprimer le pugin firebase (ou firebasex ) : cordova plugin remove cordova-plugin-firebasex\\
**Erreur duplication de classes SQLite :** Supprimer le plugin sqlite evplus : cordova plugin remove cordova-sqlite-evplus-legacy-free\\
**Erreur withelist :** Dans le fichier plugins\cordova-plugin-whitelist\src\android\WhitelistPlugin.java modifier la classe omportée "Whitelist" par "AllowList", et tout ce qui se rapporte à cette classe
Tuto précédemment réalisé chez Cmantika : [[https://docs.google.com/document/d/1faiPoCPI_zkEdyl8QhSsax5JWiJj5LbRes6KJrZjt8E/edit|https://docs.google.com/document/d/1faiPoCPI_zkEdyl8QhSsax5JWiJj5LbRes6KJrZjt8E/edit]]