我在 C 中的 Eclipse(Android 项目)上创建了两个简单的函数(设置和返回一个 int)。我使用 ndk-build 生成了一个 .so。我如何在 Xamarin 上使用这个 .so 并在我的 Xamarin.Android 项目上使用这两个函数?
谢谢!
我在 C 中的 Eclipse(Android 项目)上创建了两个简单的函数(设置和返回一个 int)。我使用 ndk-build 生成了一个 .so。我如何在 Xamarin 上使用这个 .so 并在我的 Xamarin.Android 项目上使用这两个函数?
谢谢!
假设我们有一个名为 MyTest.so 的共享库,并且我们希望在 Xamarin.Android 项目中使用它。MyTest.so 包含一个函数
int MyTest_GetValue();
现在,我们需要在 Xamarin.Android 项目上使用此功能。以下是成功的步骤:
步骤 1:在 Xamarin.Android 项目中创建一个名为 lib 的新文件夹和子文件夹 armeabi。复制我的 .so 库以在 armeabi 文件夹中使用,如此处所述
第 2 步:将 library.so(导入库)的属性设置为“AndroidNativeLibrary”并将输出复制到“始终复制”。
第 3 步:(在 Xamarin.Android 类中工作,例如:MainActivity.cs)
通过“使用 System.Runtime.InteropServices;”包含命名空间 InteropServices;</p>
使用项目中的标准 DllImport 导入原生库,如下所示:
[DllImport("MyTest.so")]
public extern static int MyTest_GetValue();// with exact Functtion Name, Type & Params in the .so Lib.
第 4 步:在应用程序中使用上述函数 ( MyTest_GetValue()
)。
例如:
int value= MyTest_GetValue();
Console.Writeline(value.ToString());
任务完成!:D