我正在尝试从我的Android应用程序中配置Nymi乐队。我正在使用Nymi Android SDK 2.0中的示例代码(可以从here:下载)。我删除了与Nymulator(Nymi波段仿真器)相关的所有代码。我想用真正的Nymi频段测试配置。但是,当我单击“配置”按钮时,应用程序将崩溃。我尝试使用异常断点调试它,我得到了" getsockopt错误88"我的调试器出错:
我也附上了截图。
我在google做了一些研究,发现errno 88是
#define ENOTSOCK 88 /* Socket operation on non-socket */
在应用启动期间,我在调试控制台中看到以下消息:
Connected to the target VM, address: 'localhost:8604', transport: 'socket'
我认为,与套接字的连接很好。我不确定,后来套接字连接出错的原因是什么。
这是我在单击配置按钮后在我的LOgCat中看到的内容:(我只发布错误消息的某些部分,因为Logcat中的错误消息太长了)
编辑:我添加了一些断点,我发现应用程序崩溃的位置。我找到了这段代码:
try {
System.loadLibrary("_nymi_sdk_net");
_loaded = true;
} catch (UnsatisfiedLinkError var6) {
return false;
}
在system.load库中,我收到错误。
编辑2:我将库从net更改为native,因为net用于模拟器,native用于设备。这次新错误发生在同一行:System.loadLibrary("_nymi_sdk");
截图:
答案 0 :(得分:1)
(免责声明:我对这个SDK或乐队一无所知,这个答案只是一个猜测。而且我已经删除了我之前的答案,因为这是在黑暗中错过的镜头。)
SDK的README.md中有一个小提示:
先决条件:
- Android开发:
- [...]
- 要将BasicExample应用程序与Nymi Band一起使用,Examples \ BasicExample \ libs中的NCL库必须替换为本机库中的NCL库 NCL \天然\库
您必须从BasicExample\libs
删除所有文件和文件夹,然后从NCL\native\libs
复制所有文件。
(我想知道为什么他们没有更加强调这一点......)
因此libs文件夹应包含以下文件夹和文件: