我在C中做了两个简单的函数(设置并返回一个int)
eclipse(
Android项目).我用
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文件夹内使用,如here所示
步骤2:设置library.so(导入的库)的属性将操作建立到“AndroidNativeLibrary”,并复制到输出到“始终复制”.
步骤3 :(在Xamarin.Android类中工作,例如:MainActivity.cs)
>通过“使用System.Runtime.InteropServices;”来包含命名空间InteropServices
>使用项目中的标准DllImport导入本地库,如下所示:
[的DllImport( “MyTest.so”)]
public extern static int MyTest_GetValue(); //具有精确的函数名称,类型& parso在.so Lib.
步骤4:在应用程序中使用上面的功能(MyTest_GetValue()).
例如:
int value = MyTest_GetValue();
Console.Writeline(value.ToString());
任务完成! :D
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。