如何使用Visual Studio 2022将.so库包含到.NET MAUI项目中

kcrjzv8t  于 2023-05-08  发布在  .NET
关注(0)|答案(1)|浏览(454)

我想在我的应用程序中包含一个“.so”库(C++,Android):

const string DllName = "libHelloWorld.so";
[DllImport(DllName, EntryPoint = "HelloWorld")]
internal static extern string getHelloWorld(LibraryFuncsSafeHandle ptr);

这总是抛出System.DllNotFoundException: 'libHelloWorld.so',无论. so文件位于何处,即使我在DllName中使用完整的路径。我试着为我的.so库使用不同的位置(例如在project/libproject/Platforms/Android/libproject/resources/lib,...)。在stackoverflow和其他网站上有很多不同的建议/“解决方案”,在那里可以找到库的正确位置,但没有一个对我有用。
这里和其他网站上的一些答案建议将路径添加到链接器配置/设置中,但至少对于Android,链接器在VS中不可访问。
I asked a separate question about the linker,所以我这里的问题是我的代码中是否有一个明显的错误,或者我可能忽略了一些不同的东西。Thanks:)

gab6jxml

gab6jxml1#

我不得不使用libserial.so访问串行端口。我也有很多问题。最后,它的工作原理是将该文件放在lib/armeabi-v7a/libserial.so中,并在构建操作中将该文件设置为AndroidNativeLibrary。目录armeabi-v7 a需要根据应用程序架构。

相关问题