Try   HackMD

2021-02-17 | Android | Compilation

tags: kotlin android gobelins

Etapes de compilation

Compilers

Compilers va compiler les éléments suivants lorsqu'on build une application :

  • Application module (code source, ressources)
  • Dependances (librairies) vont être comilés (vie Compilers).

Les fichiers java sont d'abord compilés en .class, puis ils seront convertis en .dex puis en .dexfiles

APK

Les fichiers compilés et les ressources vont constrituer le .apk final qui sera installé sur le téléphone.

APK => Android PacKage

Signature

L'APK doit avoir une clé de signature pour qu'il puisse être installé. Le package doit être signé par un certificat de debug, puis une clé de release pour la distribuer sur le store.

La signature se fait grâce à Debug & Realese Keystore

On peut signer via Android Studio : Build > Generate Signed Bundle or APK
On crée une nouvelle clé lorsqu'on crée l'application (DEBUG), si on veut la mettre à jour il faut réutiliser la clé générée lors de sa création (RELEASE). Ce n'est que avace une clé de Realease qu'on peut publier l'application.

Il faut bien conserver la clé sinon on peut perdre son application. On peut utiliser un trousseau de clé.

Gradle

  • Permet de construire l'application d'un bout à l'autre
  • Le fichier build.gradle est créé par défaut lors de la création d'un projet.
  • Va définir là où on va charcher des dépendances

Il y a aussi un build.gradle pour chaque module de l'application :

  • Il définit les versions minimum utilisées et la configuration par défaut
  • Définit la version du code pour les mise à jour sur le playstore (versionCode devrait être incrémenté pour chaque commit / maj)

Offuscation : le code est rendu illisible en changeant tout les noms par des chaines de caractères aléatoires. Cela protège le code source.