Créer un .apk pour installer une application sur un téléphone Android ou l'envoyer sur l'Android Market

Silvera David

Comment créer un .apk pour envoyer votre application sur l'Android Market ou installer votre application sur votre téléphone Android ?
Ce tutoriel vous montrera deux approches pour répondre à cette question. Celle avec la ligne de commande et celle avec Eclipse.
Commentez

- Titre : Créer un .apk pour installer une application sur un téléphone Android ou l'envoyer sur l'Android Market

- Auteur : Silvera David

- Parution : 5 juillet 2011

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Avec une invite de commande

- I-A. Créer une clé

- I-B. Créer un .apk

- II. Avec Eclipse

- II-A. Créer une clé et exporter

- II-B. Utiliser une clé et exporter

- III. Conclusion

- IV. Remerciements

I - Avec une invite de commande

I-A - Créer une clé

Tout d'abord il vous faudra ouvrir une invite de commande (Démarrer > Executer > cmd).
Ensuite, dirigez-vous vers l'utilitaire général. En général, le répertoire est :

cd C:\Program Files\Java\jre1.6.0_07\bin

Attention, il se peut que le fichier ne s'appelle pas jre1.6.0_07. Dans tous les cas il commence par jre et un dossier bin se trouve dedans.
Une fois arrivé ici, il faut utiliser l'utilitaire keytool.exe en ligne de commande comme ceci :

C:\Program Files\Java\jre1.6.0_7\bin>keytool -genkey -v -keystore c:\androiddeveloppez.keystore -alias
androidDeveloppez -keyalg RSA -validity 10000

- genkey génération des clés (privée et publique).
- keystore prend en paramètres la destination et le nom de votre clé (par exemple, ici nous la positionnons dans c : et elle s'appelle androiddeveloppez.keystore).
- alias prend en paramètre l'alias que vous voulez donner à votre clé (ici androidDeveloppez).
- keyalg correspond au type de l'algorithme à utiliser : DSA ou RSA.
- validity correspond au nombre de jours de validité de votre clé.

À partir du moment où vous tapez sur " entrer ", une suite de questions vous serront posées. Répondez avec vos propres réponses. Voici un exemple :

C:\Program Files\Java\jre1.6.0_7\bin>keytool -genkey -v -keystore c:\androiddeveloppez.keystore -alias
androidDeveloppez -keyalg RSA -validity 10000
Tapez le mot de passe du Keystore :  developpez
Quels sont vos prénom et nom ?
[Unknown] :  developpez
Quel est le nom de votre unité organisationnelle ?
[Unknown] :  developpez
Quel est le nom de votre organisation ?
[Unknown] :  developpez
Quel est le nom de votre ville de résidence ?
[Unknown] :  paris
Quel est le nom de votre État ou province ?
[Unknown] :  paris
Quel est le code de pays à deux lettres pour cette unité ?
[Unknown] :  75
Est-ce CN=developpez, OU=developpez, O=developpez, L=paris, ST=paris, C=75 ?
[non] :  o

Génération de la paire de clés RSA à 1024 bits et du certificat autosigné (MD5W
ithRSA)
pour : CN=developpez, OU=developpez, O=developpez, L=paris, ST=paris, C=75
Spécifiez le mot de passe de la clé pour <androidDeveloppez>
(appuyez sur Entrée s'il s'agit du mot de passe du Keystore) :
[Stockage de c:\androiddeveloppez.keystore]

Votre clé est enfin créée ! Il suffit de l'utiliser pour exporter votre application en .apk.

I-B - Créer un .apk

Pour créer notre .apk, nous allons utiliser l'outil jarsigner.
Pour ce faire, il suffit de taper en ligne de commande :

jarsigner -verbose -keystore c:\androiddeveloppez.keystore developpez.apk androidDeveloppez

- verbose permet d'afficher le détail de la génération de l'apk.
- Keystore demande en paramètre la clé créée auparavant (cf. I-A).

Une fois cette commande passée, il vous sera demandé les différents mots de passe (Keystore et alias).
androidDeveloppez correspond à l'alias défini auparavant (cf. I-A).
Il est important de voir si votre apk créé est bien signé. Pour cela, il vous suffit de taper la commande :

jarsigner -verify -verbose -certs developpez.apk

- verify permet justement la vérification.
- verbose tout comme au-dessus permet d'afficher le détail de l'exécution de la commande.
- Certs affiche le prénom et le nom enregistrés dans la clé (champ CN).

Une fois cette commande exécutée, un message " jar vérifié " s'affiche si tout va bien.

Maintenant, votre apk est signé mais attention ce n'est pas terminé !
Nous allons exécuter la commande zipalign qui permet d'optimiser votre application. Cet outil est proposé depuis la version 1.6 du sdk.
Il suffit d'exécuter ceci :

zipalign -c -v developpez.apk

Ceci vous dira si votre application est optimisée ou non.

Dans le cas où elle ne l'est pas (et même dans les autres cas d'ailleurs, ceci ne coûte rien :p), il suffit d'exécuter la commande suivante :

zipalign -v 4 developpez.apk developpez_new.apk

- v correspond au mot-clé verbose (déjà vu auparavant).
- 4 est le byte d'alignement. On utilisera toujours ce chiffre.
- developpez_new.apk correspond au nouvel apk optimisé créé.

Ceci accélérera le temps d'exécution de vos applications !

Votre apk est prêt ;)

II - Avec Eclipse

II-A - Créer une clé et exporter

Cliquez sur file > export
Puis sélectionnez " Export Android Application "

Ensuite, sélectionnez votre projet :

Puis sur la vue suivante, cochez " Create new keystore ", entrez le chemin vers votre clé ainsi que son nom, et saisissez votre mot de passe (dans notre exemple le mot de passe sera " developpez ") :

La vue d'après consiste à créer un alias (tout comme avec la ligne de commande). Le mot de passe pour l'alias sera le même c'est-à-dire " developpez " :

Enfin, la dernière vue exportera votre projet en .apk :

Une fois terminé, votre apk est créé !

II-B - Utiliser une clé et exporter

Cliquez sur file > export
Puis sélectionnez " Export Android Application "

Ensuite, sélectionnez votre projet :

Puis sur la vue suivante, cochez " Use existing keystore ", entrez le chemin vers votre clé ainsi que son nom, et saisissez votre mot de passe (dans notre exemple le mot de passe était " developpez ") :

La vue d'après consiste à utiliser l'alias que nous avons nommé tout à l'heure. Donc cochez " Use existing key ", puis sélectionnez votre alias et entrez votre mot de passe (dans notre exemple, le mot de passe est le même c'est-à-dire " developpez ") :

Enfin, la dernière vue vous demande le chemin et le nom de votre .apk :

Cliquez sur " finish " et votre .apk est créé (dans notre exemple, il se situe dans c:\ et s'appelle developpez.apk).

III - Conclusion

Pour finir, si vous voulez mettre votre application sur Android Market, il vous suffit de vous créer un compte et d'uploader votre .apk !
L'Android Market c'est à cette adresse :
https://market.android.com/publish/signup

Merci d'avoir suivi ce tutoriel et à bientôt ;)

IV - Remerciements

Je tiens à remercier tout particulièrement Feanorin, MrDuChnock et benwit pour leurs soutiens et remarques qui ont permis d'améliorer la qualité de ce tutoriel.
Merci aussi à ClaudeLELOUP pour la correction orthographique.