J'ai lu quelques articles sur la nouvelle adoption de Gradle en tant que système de construction standard pour les applications Android. Eh bien, venant du développement Java standard, je dépends généralement des fichiers jar pour construire mon projet. Cependant, il semble qu'Android dispose également de packages aar , qui sont l'équivalent des fichiers dll dans un système d'exploitation Windows, comme mentionné ici :
Tout d'abord, vous devez comprendre que la plate-forme Android n'autorise pas les «bibliothèques partagées» au niveau de l'application. Dans les plates-formes de langage de programmation «traditionnelles», C, C ++, Java, vous l'appelez, nous avons ce mécanisme de partage de bibliothèques d'exécution. (Par exemple, DLL sous Windows, DSO sous Unix, Jar sur JVM, etc.). Sur Android, cependant, vous ne pouvez pas faire cela, sauf si vous êtes Google ou un fabricant de combinés (voir la note de bas de page 1 ci-dessous). En tant que développeur d'applications, cela peut être une limitation fondamentale. Le «partage» ou la «réutilisation» des codes, à la fois au moment de la construction et de l'exécution, est une partie très importante de la pratique du génie logiciel. C'est plutôt difficile (pas impossible, mais plus difficile) sur Android en raison de la limitation susmentionnée.
Cependant, j'ai quelques doutes sur ce concept. Je veux dire, quand un développeur devrait-il être intéressé par l'inclusion des dépendances aar dans son application? Ces dépendances sont-elles renforcées à une version minimale du SDK?
Par exemple, dans un projet, j'accède à un port COM, pour lequel j'utilise les bibliothèques .so précompilées NDK . Dois-je créer un aar si je souhaite partager cet utilitaire?