为什么APK包含DLL文件? -- apk 领域 android 相关 的问题

Why would an APK contain dll files?


简体版||繁體版
5
vote

问题

中文

我使用了Linux Mint上的存档管理器,打开用Unity制作的游戏APK。在存档内部的令人惊讶的是,包含几乎10MB的DLL库的路径 / Asset / Bin / Data / Managed / 下面有一个文件夹。就我的理解而言,那些应该对Windows运行机器有用。为什么有人将在50MB的APK中加载10MB无用的数据?我缺少一些东西,DLL库实际上可以由Android使用吗?

文件 命令在Linux上给出了DLL上的输出:

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

I used Archive manager on Linux Mint to open the APK of a game made with Unity. To my surprise inside the archive there is a folder under the path /assets/bin/Data/Managed/ that contains almost 10mb of DLL libraries. As far as my understanding goes those should only be useful on Windows running machines. Why would anyone load 10mb of useless data in a 50mb APK? Am I missing something here and DLL libraries can in fact be used by android?

The file command on linux gives this output on the DLLs:

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

回答列表

3
 
vote
vote
最佳答案
 

izzy的猜测是正确的。 Unity基于Microsoft的.NET编程环境。统一游戏是用C#编写的,编译为DLL文件(便携式可执行文件格式,它在附带的输出中缩写为 pe32 )。 Unity将这些文件与游戏的资产一起包装(3D数据,纹理,视频,声音,& c。)和单声道运行时。 Mono是在.NET中制作的软件的开源运行时:它加载.NET DLL文件并执行它们。

dll文件可以包含Windows的可执行程序,或Windows图标文件或编译的.NET代码(Java Abcdefghijklmnabcdefghijklmn0 文件)。在一个团结游戏中,这是这些选项的最后一个。

 

Izzy's guess is correct. Unity is based on Microsoft's .NET programming environment. A Unity game is written in C# and compiled to DLL files (the portable executable format, which is abbreviated to PE32 in the output you included). Unity packages those files along with the game's assets (3D data, textures, videos, sounds, &c.) and the Mono runtime. Mono is an open-source runtime for software made in .NET: it loads the .NET DLL files and executes them.

DLL files can contain executable programs for Windows, or Windows icon files, or compiled .NET code (the .NET equivalent of Java .class files). In a Unity game, it's the last of these options.

 
 

相关问题

0  是否有可能通过PC从Google Store安装/更新应用程序?  ( Is it possible to install update apps from google store via pc ) 
几个月前,我被迫卸载一些应用程序以更新其他应用程序。最近我丢失了通过Gmail接收电子邮件通知的能力(然而,搜索工作)。所有因为垃圾应用程序Google Play和Google Play服务,不断增长。我计划完全卸载它们,至少重新恢复我手机前期前2年的功能。 但是,如果我必须进行一些应用程序的更新,或者我想安装新的应...

81  如何从播放商店下载APK文件?  ( How can i download an apk file from the play store ) 
我无法从我的Android设备上的播放商店下载应用程序(也许是由于网络问题),所以我想知道如何从 http://play.google.com/store ? ...

0  将应用程序安装程序更改为闪存安装程序?  ( Changing app installer to flashable installer ) 
你好,每个人都!, 澄清标题... 是否有一种改变,修改,转换等app安装程序(.apk)到闪存的安装程序(.zip)。 我不参考只需创建一个zip以简单地将apk文件复制到其所需的目录,而是将应用程序安装为新应用程序,并且/或以相同/相似的方式升级现有的一个APK本身将被安装。 我试图搜索,结果不具体到我要求的...

3  尝试恢复系统upates(com.samsung.apk)时,Titanium Backup锁定  ( Titanium backup locks up when trying to restore system upates com samsung apk ) 
好的,所以试图停止OTA通知,我未安装系统更新1.0.0 ( com.samsung.apk )使用 titanium备份。好吧,没有帮助,所以我试图恢复我需要更新我的个人资料或PRL的应用程序。但是,当我尝试使用 titanium backup 恢复这个应用程序时,它只是坐在"恢复......" 屏幕上,我必须使用...

4  将APK从电话复制到平板电脑  ( Copying apks from phone to tablet ) 
我有一个易于销售的平板电脑(Coby Kyros),我买了一个三星迷人(AT& t)。 我是否可以将APK从手机下载到平板电脑中? ...

1  Android多久要解压缩应用程序的APK和OBB文件?  ( How often does android have to decompress an apps apk and obb files ) 
根据伟大的答案 这个问题,Android必须在运行应用程序之前解压缩每个应用程序的APK和OBB文件。 是每次运行App的每次运行时执行的这种解压缩,假设它已被推出android的进程缓存? ...

31  如何妥善安装其.apk的系统应用程序?  ( How do i properly install a system app given its apk ) 
我删除了系统应用程序(com.android.mms),我有.apk需要恢复它,但它不会通过标准通道安装(运行.apk给我"未安装应用程序" )。安装系统应用程序的正确方法是什么? ...

3  手动安装Split APK  ( Install split apk manually ) 
最近我必须知道一个名为split apks的东西,并发现切片作为无效的apk文件,只有基础是。不幸的是,这意味着通常的默认包安装程序无法处理此操作,因此我必须知道另一件名为SAI的东西,一个拆分APK安装程序,能够与或没有root工作。然而,好奇,我想知道它是如何在内部工作的,并开始做一些研究。我没有走得太远,但我必...

1  我正在努力下载蓝kik,但它一直在给我'未安装的应用程序'消息  ( Im trying to download blue kik but it keeps giving me the app not installed ) 
我正在使用一个tcl lx(我不会怀疑是问题,因为手机有多糟糕),我正在寻找一个简单的解决方案。我尝试多次安装它,删除和重新下载APK,但似乎没有任何工作。 ...

6  Android应用程序捆绑的语言支持呢?  ( What about android app bundles language support ) 
你可以了解你需要了解的一切,你需要了解 Android应用程序包在这里 。因为这是一个新的交付APK的方式,我对它的工作原理非常感兴趣。 当看看链接网站您将理解应用程序包只会在 google play 上下载适当的语言资源文件。 现在,在安装后更改系统语言时会发生什么?即使在原始 app bundle 中,应用程序...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有