Introduction à cette section :
Il s'agit de l'avant-dernière section du chapitre 1. Cette section explique comment packager notre programme dans un fichier APK et signer notre APK ! Comme mentionné dans la section précédente, l'IDE que nous utiliserons dans les tutoriels suivants est Android Studio, donc cette section explique aussi comment packager et signer le projet sous AS (abrégons-le ainsi désormais) !
1. Qu'est-ce que la signature et à quoi sert-elle :
Les applications Android nous obligent à signer numériquement l'application avec un certificat ; sinon, elles ne peuvent pas être installées sur les téléphones Android. Lorsque nous débogons et exécutons normalement sur un téléphone, AS signe automatiquement à l'aide de la clé et du certificat par défaut. Cependant, lorsque nous compilons réellement pour une release, il ne signe pas automatiquement. À ce stade, nous devons signer manuellement ! La signature de notre APK présente les avantages suivants :
- 1. Mise à niveau de l'application :Si vous voulez que les utilisateurs passent en toute transparence à une nouvelle version, vous devez signer avec le même certificat. En effet, le système n'autorisera l'installation de l'application mise à niveau que si elle est signée avec le même certificat. Si vous utilisez un certificat différent, le système exigera que votre application utilise un nom de package différent, ce qui, dans ce cas, équivaut à installer une toute nouvelle application. Si vous voulez mettre à niveau une application, le certificat de signature doit être le même, et le nom de package doit être le même !
- 2. Modularisation des applications :Le système Android permet à plusieurs applications signées avec le même certificat de s'exécuter dans un seul processus. Le système les traite en réalité comme une seule application. À ce stade, nous pouvons déployer nos applications de manière modulaire, et les utilisateurs peuvent mettre à niveau indépendamment l'un des modules.
- 3. Partage de code ou de données :Android fournit un mécanisme d'autorisation basé sur la signature, de sorte qu'une application peut exposer ses fonctionnalités à une autre application signée avec le même certificat. En signant plusieurs applications avec le même certificat et en utilisant des contrôles d'autorisation basés sur la signature, vous pouvez partager en toute sécurité du code et des données entre applications. Si différentes applications veulent partager des données ou du code, elles doivent s'exécuter dans le même processus et être signées avec le même certificat. —— Le contenu ci-dessus est extrait de :Pourquoi Android nécessite une signature
2. Comment packager et signer dans Android Studio :
OK, comme les étudiants de ce cours sont tous des débutants, le contenu du packaging multicanal sera expliqué plus tard ! Cette section ne couvre que le packaging et la signature les plus simples. Au fait, l'APK généré par défaut lors du débogage mentionné dans la section 1 se trouve dans le répertoire app/build/outputs/apk ! C'est différent d'Eclipse ; Eclipse le génère dans le répertoire bin !

OK, ouvrez notre projet Hello World dans AS, puis cliquez sur le menu :
①Build -> Generate Signed APK...

② Une fenêtre pop-up apparaît. S'il n'y a pas de clé, créez-en une ; s'il y en a une, sélectionnez la clé existante

③ S'il n'y en a pas, nous en créons une nouvelle. Vous pouvez remplir les champs pertinents selon vos besoins :

④ OK, après avoir cliqué sur OK, vous pouvez voir les informations de notre mot de passe. Nous devrons peut-être saisir le mot de passe, alors remplissez-le :

⑤ Cliquez sur Suivant :

⑥ Cliquez sur Terminer. Après un moment d'attente, l'invite suivante apparaîtra, indiquant que l'application a été empaquetée et signée avec succès :

⑦ Vous pouvez voir que l'APK empaqueté repose maintenant paisiblement dans notre répertoire app :

⑧ À l'étape 7, l'empaquetage et la signature sont déjà terminés. Si vous voulez vérifier s'il est signé, entrez simplement la commande cmd suivante


Résumé de cette section
Il existe de nombreuses autres façons d'empaqueter des APK Android, comme la ligne de commande, ou Gradle, ANT, MAVEN, etc. Il existe de nombreuses méthodes. Cette section explique la façon la plus simple d'empaqueter et de signer via l'interface graphique ! Bon, c'est tout pour cette section. Avez-vous retenu la méthode d'empaquetage et de signature la plus simple ?