Android studio - 从 dll 文件或 lib 文件调用函数

Posted

技术标签:

【中文标题】Android studio - 从 dll 文件或 lib 文件调用函数【英文标题】:Android studio - Call to function from dll file or lib file 【发布时间】:2021-06-23 14:37:40 【问题描述】:

我有一个 lib 和 dll 文件(我可以选择我要使用的文件) 我想调用文件内的函数。 dll/lib中编译的代码写在c处

【问题讨论】:

【参考方案1】:

dll 文件(除非 dll 是 dot.net dll 并且您在 Xamarin 应用程序中)在 android 中不可用。

此外,DLL 文件通常针对 x86(32 位)或 x86_64(64 位)CPU 进行编译。具有 x86 CPU 的 Andorid 设备的数量接近于零,对于 Android,您需要为 ARMv7(32 位)和 ARMv8(64 位)编译的库。由于 Android 是基于 Linux 的,因此您需要 .so 文件而不是 .dll 文件。

为了使开发更容易,您应该安装 Android Studio + Android NDK(Native Development Kit)。然后你就拥有了编译 c 代码的一切,你可以在 Android 应用程序中使用它。

Google 提供了多个示例项目来展示如何使用 NDK:https://developer.android.com/ndk/samples

【讨论】:

感谢您的回答。其他人用 Visual Studio 编译了代码。我有源代码。我将创建so文件。

以上是关于Android studio - 从 dll 文件或 lib 文件调用函数的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio Emulator:无法添加库 vulkan-1.dll:失败

Android Studio 和Eclippse如何连接模拟器调试

C++,Visual Studio 2017:从加载的 .dll 中访问 .exe 的全局变量 [重复]

Visual Studio 发布未将所有 DLL 复制到发布文件夹

编译c ++,Visual Studio时加载DLL不起作用

安装完android studio,启动时碰到"failed to load jvm dll"的解决方案