有一些库和java代码在android中使用它们。
我在androidstudio中编译这个java代码以获得一个.aar文件。我需要使用visualstudio为xamarin.android的c代码进行绑定。因此,虽然与java绑定工作正常,但java代码会引发异常:
java.lang.unsatifiedLinkError:dalvik.system.pathclassloader
通过查看完整的异常消息,我得到了java代码找不到的.so文件。在androidstudio项目中,lib的地址是./lib/armeabi-v7a/,java代码运行良好。
所以,问题是:我应该把.so libs放在c#binding库的哪里?一些内在的气味提示我应该把它放在某个地方——这就是图书馆的工作方式。
我试着用我的.dll将.so库放在目录中,/lib/armeabi-v7a/中的更深一层,但实际上没有帮助--例外是一样的。我试着把它们和我的.aar文件放在一个目录中,也放在./lib/armeabi-v7a/中更深的目录中,但这有点像萨满教。这也没用。
1条答案
按热度按时间mlnl4t2r1#
问题出在我试图检查程序工作的方式上。我的android模拟器没有armeabi-v7a支持。在我尝试更改模拟器设置之后。它变得迟钝而缓慢。问题是在真实设备上测试应用程序。