在android应用程序中使用dll文件
我可以在Android应用程序中使用dll文件(windows应用程序中常用)吗?
Can I use dll files (commonly used in windows Application) in Android application?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Android 在 Linux 系统上运行 - DLL 文件通常是为 Windows 编译的字节码。
Android runs on a Linux system - DLL files are usually bytecode compiled for Windows.
如果您有 DLL 的 src 文件,请尝试重新编译为 ELF32 共享对象,然后将其链接到您的 Android 代码中(- 下面是 Windows 解决方案):
您现在应该能够在 Android 中使用生成的 .so 文件项目。
If you have the src files for the DLL, try recompiling as an ELF32 shared object, then link that instead into your Android code (- below is a Windows solution):
You should now be able to use the resulting .so file in your Android project.
您可以在 Linux 上使用 Wine 来运行具有 dll-s 的程序。此外,如果您内部有可以运行这些 dll-s 的运行时,那么 Android(也是 Linux 的一个版本)中的 .apk 文件也可能包含 dll-s。
Unity 和 Xamarin 都支持 dll。
You can use Wine on Linux to run programs that have dll-s. Also .apk files that you have in Android (also a version of Linux) may have dll-s if you have a run-time inside that can run those dll-s.
Unity and Xamarin both support dlls.
DLL代表“动态链接库”,是一个Windows概念。 Linux 中的等价物是 SO(共享对象)。
您可以参考CodeProject中的这篇文章了解两者的异同。
这个 Stackoverflow 问题非常相似。
DLL stands for "Dynamic Link Library" and is a Windows concept. The equivalent in linux is SO (Shared Object).
You can refer to this article in CodeProject for similarities and differences between the two.
This Stackoverflow question is pretty similar.