我想在我的应用程序中包含一个“.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/lib
,project/Platforms/Android/lib
,project/resources/lib
,...)。在stackoverflow和其他网站上有很多不同的建议/“解决方案”,在那里可以找到库的正确位置,但没有一个对我有用。
这里和其他网站上的一些答案建议将路径添加到链接器配置/设置中,但至少对于Android,链接器在VS中不可访问。
I asked a separate question about the linker,所以我这里的问题是我的代码中是否有一个明显的错误,或者我可能忽略了一些不同的东西。Thanks:)
1条答案
按热度按时间gab6jxml1#
我不得不使用libserial.so访问串行端口。我也有很多问题。最后,它的工作原理是将该文件放在lib/armeabi-v7a/libserial.so中,并在构建操作中将该文件设置为AndroidNativeLibrary。目录armeabi-v7 a需要根据应用程序架构。