Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Black Friday: -25€ dès 75€ sur les livres en ligne, vidéos... avec le code BWEEK25. J'en profite !
  1. Livres et vidéos
  2. Android
  3. Publier une application
Extrait - Android Guide de développement d'applications Java pour Smartphones et Tablettes (4e édition)
Extraits du livre
Android Guide de développement d'applications Java pour Smartphones et Tablettes (4e édition) Revenir à la page d'achat du livre

Publier une application

Introduction

La publication d’une application est sa mise à disposition à destination de tiers. Elle peut être à caractère privé, comme par exemple la publication d’une application interne à une entreprise à destination uniquement des smartphones et tablettes de ses employés. Ou elle peut être à caractère public.

Cette application peut être proposée gratuitement et, dans ce cas, tous les moyens pour la distribuer sont bons : les places de marché d’applications comme le Play Store de Google (anciennement Android Market) et les places de marché alternatives mises en place par certains opérateurs ou autres mais aussi les sites web en proposant directement le téléchargement du fichier apk.

L’application peut également être proposée à la vente à un tarif fixe. Là encore, il existe bon nombre de places de marché permettant de vendre des applications. Afin de se prémunir contre la copie illégale, l’application devra utiliser un système de protection (cf. chapitre Fonctionnalités avancées - Protéger les applications payantes).

Nous ne détaillerons dans ce chapitre que la publication sur le Play Store, la place de marché des applications Android. Le Play Store, côté client, est une application installée...

Préliminaires

Avant de réaliser le paquetage final de l’application, il faut vérifier plusieurs points que sont la version de l’application et les filtres configurés dans l’application permettant de ne la proposer que sur les appareils compatibles.

1. Version de l’application

Il est de coutume, en informatique, d’adosser un numéro de version à tout logiciel. Ce numéro de version doit être un identifiant unique, sans quoi il n’aurait pas beaucoup d’intérêt.

Sous Android, deux champs du manifeste ont pour but de préciser ce numéro de version : android:versionCode et android:versionName.

a. android:versionCode

android:versionCode est un nombre entier. Ce nombre n’est pas affiché à l’utilisateur. Il permet aux autres applications et au Play Store de pouvoir comparer deux versions de l’application afin de déterminer laquelle des deux est une mise à jour, à savoir celle dont le nombre a la valeur la plus grande.

Il est d’usage de commencer à 1 et d’incrémenter la valeur à chaque mise à jour officielle de l’application qu’elle soit majeure ou mineure.

Le système Android ne vérifie pas cette valeur et laisse totale liberté au développeur pour spécifier cette valeur. C’est au développeur de bien veiller à ce que la dernière version possède toujours la valeur la plus grande.

Syntaxe

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     android:versionCode="entier" > 
   ... 
</manifest> 

Exemple

<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    package="fr.mondomaine.android.monappli" 
    android:versionCode="42" > 
</manifest> 

b. android:versionName

android:versionName est le numéro de version affiché à l’utilisateur dans le Play Store par exemple. C’est un élément clé à caractère informatif qui sert aussi bien au développeur qu’à l’utilisateur.

Pour le développeur, ce numéro de version permet de spécifier...

Signature de l’application

Toute application Android doit être signée numériquement pour être installée et exécutée sur un système Android, que ce soit sur l’émulateur ou sur un appareil Android. Cela permet notamment d’identifier l’éditeur de l’application.

L’application est distribuée sous la forme d’un fichier au format APK (Android Package).

Le fichier .apk est un fichier au format zip contenant toute l’application : les fichiers Java compilés en .class, les fichiers ressources et les fichiers XML compilés au format WBXML (Wap Binary XML).

Pendant la phase de développement d’une application, le développeur est amené à compiler, installer et exécuter celle-ci de nombreuses fois. Ce qui suppose de signer chacune de ces compilations sans quoi il n’est pas possible de les installer sur le système Android. Pourtant, jusqu’ici, aucune demande de signature n’a été requise et toutes les compilations des applications ont pu être installées sans souci sur l’émulateur ou sur un appareil Android. Ce qui contredit les premiers propos.

La raison est simple. Afin de ne pas alourdir le travail du développeur en lui demandant de signer chacune des compilations, le processus de signature diffère selon le mode de compilation utilisé.

1. Compilation en mode débogage

C’est le mode de compilation utilisé par défaut sous Android Studio pendant la phase de développement de l’application. Lors de la compilation d’une application dans ce mode, Android Studio crée automatiquement un magasin de clés et y crée une clé privée spécifiquement dédiée au mode débogage.

Cette clé est ensuite utilisée pour signer automatiquement le fichier apk, l’optimiser et l’installer sur le système Android. Toutes ces phases sont réalisées de manière totalement transparente pour le développeur. Cela lui permet donc de ne pas avoir à s’occuper de cet aspect et de se focaliser sur le développement de l’application.

L’application signée de cette façon ne peut pas être distribuée sur le Play Store.

2. Compilation...

Production de plusieurs versions

Bien que de nombreux outils soient mis à disposition du développeur pour gérer différents comportements de l’application - le gestionnaire de ressources, les tests sur le matériel, etc, il est des situations où il est nécessaire de produire plusieurs versions d’une application : par exemple, pour proposer une version gratuite et une version payante de la même application.

Gradle utilise, pour permettre de produire plusieurs versions d’une même application, une notion de saveur (flavor, en anglais). Une fois les différentes saveurs définies, il est possible d’affecter des valeurs différentes pour les paramètres de l’application en fonction de la saveur. L’identifiant de l’application, le nom du package, doit, notamment, être spécifique à chaque saveur.

Pour définir une ou plusieurs saveurs dans Android Studio, il faut sélectionner le menu Build et cliquer sur l’entrée Edit Flavor pour afficher l’écran de configuration du projet.

images/12EI03.png

Par défaut, une seule version de l’application est prévue : la saveur correspondante est nommée defaultConfig. Pour ajouter une saveur, il suffit de cliquer sur le bouton + situé à droite de la zone listant les saveurs.

Pour chaque nouvelle saveur déclarée, il faut...

Publication de l’application sur le Play Store

Une fois l’application finale compilée, signée avec la clé privée du compte éditeur, et testée en environnement réel, elle peut être publiée.

Il existe de nombreuses places de marché où peut être publiée l’application. Celle qui contient le plus d’applications est le Play Store géré par la société Google. Nous décrirons donc ici les différentes étapes pour publier une application sur cet App Store (magasin d’applications).

1. Inscription

Le Play Store est la place de marché d’applications Android, proposée par la société Google. Cette place de marché permet d’un côté aux éditeurs de soumettre leurs applications et de l’autre de proposer le téléchargement et l’installation de ces applications aux utilisateurs directement sur leurs appareils Android. L’utilisateur peut installer ces applications soit en utilisant l’application dédiée Play Store disponible sur son appareil, soit en surfant sur le site web du Play Store disponible à l’adresse : https://play.google.com/store

L’ouverture d’un compte éditeur sur le Play Store est payante. Que l’éditeur souhaite y publier des applications gratuites ou payantes, il doit s’acquitter du paiement de $25 US de frais une seule et unique fois lors de l’inscription. Cette inscription est valable à vie, et pour toutes les applications que l’éditeur voudra publier.

L’éditeur qui souhaite proposer une application sur le Play Store doit avant tout posséder un compte Google.

Le compte Google peut être un compte Gmail ou un compte Google Apps.

Ce compte permet de créer un compte éditeur utilisé pour gérer la publication des applications. L’adresse de messagerie ainsi que les autres informations du compte Google ne sont pas divulguées aux utilisateurs des applications. Lors de chaque publication d’application, il est possible de spécifier une adresse de messagerie spécifique qui sera communiquée aux utilisateurs afin qu’ils puissent contacter l’éditeur.

 Ouvrez un navigateur Internet et entrez l’adresse...