La même fonctionnalité de mémoire partagée est toujours présente dans Android, et elle fonctionne sur les bibliothèques partagées intégrées telles qu'OpenGL ES, mais elle n'est pas utilisée pour les bibliothèques tierces comme vous le demandez. Chaque application qui utilise une bibliothèque tierce doit inclure cette bibliothèque dans son fichier APK. Il ne s'agit donc pas de bibliothèques partagées (dans le format .so
sens) : ce sont juste des fichiers en double qui peuvent contenir le même code. (Généralement, ils ne contiendront pas le même code car différentes applications auront été construites avec différentes versions de la bibliothèque).
Cela permet d'éviter les éventuelles incompatibilités ou les problèmes de sécurité causés par la mise à jour de bibliothèques provenant de différentes applications. Les incompatibilités de bibliothèques partagées sont un énorme problème dans les systèmes GNU/Linux. Les distributions font beaucoup d'efforts pour les éviter en testant différentes combinaisons d'applications et de bibliothèques, mais il arrive encore que les choses se passent mal. Dans Android, où personne n'est chargé de s'assurer que les différentes applications fonctionnent ensemble, ce type de système de bibliothèque partagée aurait pour conséquence que les applications se brisent souvent lorsqu'une bibliothèque partagée est mise à jour. Des problèmes de sécurité pourraient survenir dans un système utilisant les bibliothèques partagées de cette manière, car une application pourrait mettre à jour une bibliothèque partagée vers une "version plus récente" qui est en fait piratée pour divulguer des informations ou contrôler l'application. Les bibliothèques devraient être traitées comme des paquets distincts, signés par l'auteur, tout comme les applications, et il faudrait alors mettre en place un processus complexe pour gérer les mises à jour des versions.