Comment faire pour signer une application avec une clé privée avant sa publication sur le market par exemple ? Vous vous demandez comment ? Et bien c’est ce que nous allons voir tout de suite Cool

I) Avec Eclipse

Sur Eclipse, dans le package explorer, faites un clic droit sur votre projet, sélectionnez Android Tools et enfin Export Signed Application Package.

Une nouvelle fenêtre s’ouvre, vérifiez que c’est bien le nom de votre projet qui s’affiche, sinon il faut sélectionner votre projet.

Cliquez sur Next.

Dans la fenêtre qui suit, sélectionnez « Create new keystore ».

Il vous faut maintenant sélectionner l’endroit où vous souhaitez enregistrer votre fichier Keystore. Vous pouvez le mettre ou vous vous voulez avec l’extension .keystore. Le mien par exemple « mykeystore.keystore » .

N’oubliez surtout pas de spécifier un mot de passe et de le confirmer. Conservez bien ce mot de passe car il vous sera très utile.

cliquez ensuite sur Next.

L’écran suivant vous permet de rentrer les informations concernant votre alias. Pour ma part, j’ai mis par exemple totokeystorealias.

Définissez également un autre mot de passe.

La validité ( validity ) doit être d’au moins 25 ans. Moi j’ai choisi d’avoir une validité de 50 ans Complice

Mettez ensuite votre nom et cliquez sur Next.

Bon on arrive au dernier écran, le dernier niveau ! Content Il vous donne l’emplacement du fichier apk signé, que vous allez publier sur le market. Ce fichier généralement se trouve en règle générale dans le répertoire bin de votre projet.

Veuillez à bien conserver le fichier keystore ainsi que le mot de passe que vous venez de spécifier ! Car si un jour, vous souhaitez faire une mise à jour de votre application sur le market,

il vous faudra signer la nouvelle version avec la même clé.

II) En ligne de commande

On peut faire également la même chose en ligne de commande. Voilà comment ça se passe ! Content

La commande à exécuter est la suivante :

keytool -genkey -v -alias mobile_tuts_alias -keystore mobile_tuts_keystore.keystore -keyalg RSA -validity 11000

Il faut savoir que la commande keytool n’est exécutable que dans le répertoire où il se trouve. Généralement il est placé dans java. C’est pourquoi on se met dans le répertoire java\jdk.x.x.xx\bin pour pouvoir exécuter la commande keytool.

Il vous faut spécifier un alias, ici, mobile_tuts_alias est un alias, mettez ce que vous voulez à la place.

Il en est de même pour le fichier keystore ( n’oubliez pas l’extension .keystore ).

Enfin la durée de validité ici est de 11000 jours ( soit 30 ans ), ce paramètre s’exprime uniquement en jours et n’oubliez pas que, comme vu plus haut, cette durée ne doit pas être inférieure à 25 ans.

La suite de la procédure est identique à celle d’Eclipse : Spécification du mot de passe du keystore, du mot de passe de l’alias, etc … Le tout est de ne pas confondre les 2 mots de passe ( le mieux est alors de mettre le même mot de passe pour les deux ).

Et voilà ! Vous venez de générer votre clé privée !!! Content

Il ne reste donc plus qu’à signer votre application !

Supposons que l’on souhaite signer le fichier mobile_tut.apk avec une clé privée.

La commande à exécuter est la suivante :

jarsigner -verbose -keystore mobile_tuts_keystore.keystore mobile_tuts.apk mobile_tuts_alias

Il est impératif de remettre le même fichier keystore et le même alias que précédemment.

Comme pour keytool, la commande jarsigner n’est accessible que si l’on se trouve dans le répertoire bin du jdk.

Afin de vérifier que l’application a bien été signée, utilisez la commande suivante :

jarsigner.exe -verify mobile_tut.apk

Si la réponse est jar verified, cela signifie que le jar a bien été signé ! Afin d’avoir plus de détails sur la signature, exécutez la commande suivante :

jarsigner.exe -verify -verbose -certs mobile_tuts.apk

Vous pouvez ainsi voir la durée de validité du certificat et les détails sur la personne qui a créé le certificat.

Voilà ! Votre application est maintenant signé est prête à être publier sur l’Android Market ! Cependant je vous déconseille fortement d’utiliser la deuxième méthode car elle est quand même un plus complexe, plus longue que la première et on rencontre souvent des bugs si on veut resigner une application qui a déjà été signée.

Ainsi s’achève ce tuto sur la signature d’application, j’espère qu’il vous aura été très bénéfique ! Je vous dit donc à très bientôt chers lecteurs ! Content

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.