在 Java 中使用具有 C 接口的 DLL(适用于 Android)
我正在考虑为 Android 平台编写一个应用程序,该应用程序(希望)使用带有 C 接口的 DLL。从服务器获取信息的唯一方法是通过此 API。这可能吗?如果是这样,有人能给我指出正确的方向吗? 谢谢
I was looking into writing an app for Android platform that would (hopefully) use a DLL with a C interface. The only way to grab information from the server is through this API. Is this even possible? If so, could anyone give me a point in the right direction?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
“DLL”是 Windows 术语。您无法在 Android 上使用 Windows DLL。您将需要可以在 Linux 上运行的 C 代码,因为 Android 是基于 Linux 的操作系统。
是否可以创建一个在 Android 上使用的 C 库?是的。请参阅本机开发套件 (NDK)。
是否可以创建一个只能由某些 C 库访问的服务器?如果可以通过 Internet 访问该服务器,则可能需要做大量工作。任何人都可以尝试访问该服务器,或者可以对您的库进行逆向工程,或者可以对库到服务器的通信执行数据包检查。
"DLL" is a Windows term. You cannot use a Windows DLL on Android. You will need C code that can work on Linux, as Android is a Linux-based operating system.
Is it possible to create a C library for use on Android? Yes. See the Native Development Kit (NDK).
Is it possible to create a server that can only be accessed by some C library? Probably not without a lot of work, if that server is accessible from the Internet. Anybody can try hitting that server, or can reverse-engineer your library, or can perform packet inspection on your library-to-server communications.
您尝试过 Mono 吗?
免责声明:我在 Linux 上使用过(它可以工作),但在 Android 上没有使用过。
Did you try Mono?
Disclaimer: I have used in on Linux and (it works) but not on android.