我在C中的eclipse(Android项目)上创建了两个简单的函数(设置并返回一个int)。我用过 NDK建造 产生一个.so。我如何在Xamarin上使用这个.so并在我的Xamarin.Android项目中使用这两个函数?
谢谢!
我在C中的eclipse(Android项目)上创建了两个简单的函数(设置并返回一个int)。我用过 NDK建造 产生一个.so。我如何在Xamarin上使用这个.so并在我的Xamarin.Android项目中使用这两个函数?
谢谢!
假设我们有一个名为MyTest.so的共享库,我们想在Xamarin.Android项目中使用它。 MyTest.so由一个函数组成
int MyTest_GetValue();
现在,我们需要在Xamarin.Android项目中使用此功能。以下是成功的步骤:
步骤1:在Xamarin.Android项目中创建一个名为lib和子文件夹armeabi的新文件夹。如上所述,复制我的.so库以在armeabi文件夹中使用 这里
步骤2:设置库的属性.so(导入的库)将操作构建到“AndroidNativeLibrary”并复制到输出到“始终复制”。
第3步:(在Xamarin.Android类中工作,例如:MainActivity.cs)
通过“using System.Runtime.InteropServices;”包含命名空间InteropServices。
使用项目中的标准DllImport导入本机库,如下所示: [的DllImport( “MyTest.so”)] public extern static int MyTest_GetValue(); //在.so Lib中具有完全功能名称,类型和参数。
第4步:在应用程序中使用上面的函数(MyTest_GetValue())。
例如:
int value = MyTest_GetValue();
Console.Writeline(value.ToString());
任务完成! :d
假设我们有一个名为MyTest.so的共享库,我们想在Xamarin.Android项目中使用它。 MyTest.so由一个函数组成
int MyTest_GetValue();
现在,我们需要在Xamarin.Android项目中使用此功能。以下是成功的步骤:
步骤1:在Xamarin.Android项目中创建一个名为lib和子文件夹armeabi的新文件夹。如上所述,复制我的.so库以在armeabi文件夹中使用 这里
步骤2:设置库的属性.so(导入的库)将操作构建到“AndroidNativeLibrary”并复制到输出到“始终复制”。
第3步:(在Xamarin.Android类中工作,例如:MainActivity.cs)
通过“using System.Runtime.InteropServices;”包含命名空间InteropServices。
使用项目中的标准DllImport导入本机库,如下所示: [的DllImport( “MyTest.so”)] public extern static int MyTest_GetValue(); //在.so Lib中具有完全功能名称,类型和参数。
第4步:在应用程序中使用上面的函数(MyTest_GetValue())。
例如:
int value = MyTest_GetValue();
Console.Writeline(value.ToString());
任务完成! :d