Créer un apk

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.
21 commentaires Donner une note  l'article (5)

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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 :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
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 "

keystore étape 1


Ensuite, sélectionnez votre projet :

Keystore etape 2


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 ") :

Keystore etape 3


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 " :

Keystore etape 4


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

Keystore etape 5


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

II-B. Utiliser une clé et exporter

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

keystore étape 1


Ensuite, sélectionnez votre projet :

Keystore etape 2


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 ") :

Keystore etape 3


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 ") :

Keystore etape 4


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

Keystore etape 5


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.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

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 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni 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.