14 Construire et déployer votre application

La construction et le déploiement de l’application peut se faire en ligne de commande, nous expliquons ici comment le faire en utilisant Eclipse.

Avant tout, il faut que vous définissiez l’emplacement d’un KeyStore dans votre espace de travail (votre ordinateur ou sur votre réseau). Ce KeyStore servira à centraliser l’ensemble de vos clefs pour signer vos applications. Vous devez vous assurer de la sécurisation de ce dossier et de sa persistance. En effet, un tiers ne doit pas pouvoir vous voler vos clefs car il serait en mesure d’utiliser la même signature que vous et pirater vos applications (pour mettre un  malware par exemple). Ensuite, vous devez toujours être capable de résigner votre application, notamment dans le cas où celle-ci évolue. En effet, si la version 1 et la version 2 de votre application ne sont pas signées avec la même clef, l’utilisateur ne pourra pas faire d’update de la version 1 et sera obligé d’installer la version 2 comme si celle-ci était une nouvelle application.

Le KeyStore possède un mot de passe que vous devez conserver aussi précieusement que le KeyStore lui-même.

 

14.1 Signer son application

Au moyen d’Eclipse, rien de plus simple : Clic droit sur votre projet Android -> Android Tool -> Export Signed Application Package…

La première fenêtre du wizard vérifie que votre projet ne comporte pas d’erreurs, cliquez sur next.

La seconde fenêtre, elle, vous demande où se trouve votre KeyStore, si vous n’en avez pas encore, définissez le dossier qui vous servira à stocker vos clefs[1], sinon retrouvez votre KeyStore et remplissez le champ mot de passe.

La troisième fenêtre, elle vous permet de créer une clef. Une clef possède les informations suivantes :

  • Alias : Un alias vers la clef, son petit nom. Seuls les 8 premiers caractères sont utilisés
  • Password : Le mot de passe associé à cette clef
  • Confirm : Le mot de passe associé à cette clef
  • Validity (years): La validité (Android préconise au moins 25, vous pouvez mettre un siècle)
  • First and Last Name : Votre nom et prénom (ou le nom de votre équipe)
  • Organizational Unit : Le service de votre entreprise qui a développé l’application
  • Organization : Le nom de votre entreprise
  • City or locality : Votre ville
  • State or Province : Votre état, votre région, votre département
  • Country code : Le code de votre pays[2], celui-ci est le même que celui utilisé pour l’internationalisation (US pour USA, FR pour France, UK pour Angleterre…) .

La dernière fenêtre vous demande où le fichier apk doit-il être enregistré.

 

14.1.1 Créer son KeyStore en ligne de commande

Cette méthode est à utiliser uniquement si vous n’avez pas Eclipse sur votre machine.

Pour créer votre KeyStore en ligne de commande en utilisant la commande keytool (dans votre JAVA_HOME/bin) et la tâche genkeypair :

-genkeypair  [-v] [-protected]

[-alias ]

[-keyalg ] [-keysize <taille_clé>]

[-sigalg ] [-dname ]

[-validity ] [-keypass <mot_passe_clé>]

[-keystore ] [-storepass <mot_passe_store>]

[-storetype ] [-providername ]

[-providerclass <provider_class_name> [-providerarg ]] ...

[-providerpath ]

Ce qui donne :

keytool -genkeypair -v  -keystore myReleaseKeystorePath.jks -storepass myKeystorePassword -alias myKey -keypass myKeyPassWord -keyalg RSA -validity 36500

Où:

  • myReleaseKeyStorePath est le chemin complet de votre KeyStore (/home/myStores/myKeyStore.jks),
  • myKeystorePassword est le mot de passe de votre KeyStore,
  • myKey est le nom de votre clef et
  • myKeyPassWord est le mot de passe de cette clef.

Le système vous posera une suite de questions : nom, prénom, organisation,…



[1] N’oubliez pas que ce Keystore doit être sécurisé et persistant, ainsi que son mot de passe.

[2] Vous trouverez la liste complète ici : http://en.wikipedia.org/wiki/ISO_3166-2

Sauvegarder
Choix utilisateur pour les Cookies
Nous utilisons des cookies afin de vous proposer les meilleurs services possibles. Si vous déclinez l'utilisation de ces cookies, le site web pourrait ne pas fonctionner correctement.
Tout accepter
Tout décliner
Essentiel
Ces cookies sont nécessaires au bon fonctionnement du site, vous ne pouvez pas les désactiver.
Affichage
Accepter
Analytique
Outils utilisés pour analyser les données de navigation et mesurer l'efficacité du site internet afin de comprendre son fonctionnement.
Google Analytics
Accepter
Décliner