5 votes

Pourquoi un APK contiendrait-il des fichiers DLL ?

J'ai utilisé Archive Manager sur Linux Mint pour ouvrir l'APK d'un jeu réalisé avec Unity. A ma surprise, à l'intérieur de l'archive, il y a un dossier sous le chemin /assets/bin/Data/Managed/ qui contient près de 10MB de bibliothèques DLL.

El file sous Linux donne ce résultat sur les DLLs :

PE32 executable (DLL) (console) Intel 80386 Mono/.Net assembly, for MS Windows

D'après ce que j'ai compris, ils ne devraient être utiles que sur les machines fonctionnant sous Windows.

Pourquoi quelqu'un chargerait-il 10MB de données inutiles dans un APK de 50MB ? Est-ce que je rate quelque chose ici et les bibliothèques DLL peuvent en fait être utilisées par Android ?

3voto

Andy Brudtkuhl Points 1714

La supposition d'Izzy est correcte. Unity est basé sur l'environnement de programmation .NET de Microsoft. Un jeu Unity est écrit en C# et compilé dans des fichiers DLL (les fichiers exécutable portable qui est abrégé en PE32 dans la sortie que vous avez incluse). Unity regroupe ces fichiers avec les ressources du jeu (données 3D, textures, vidéos, sons, etc.) et le moteur d'exécution Mono. Mono est un moteur d'exécution open-source pour les logiciels créés en .NET : il charge les fichiers DLL .NET et les exécute.

Les fichiers DLL peuvent contenir des programmes exécutables pour Windows, des fichiers d'icônes Windows ou du code .NET compilé (l'équivalent .NET de Java). .class ). Dans un jeu Unity, c'est la dernière de ces options.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X