从 Android 应用配置 Nymi 手环

Provisioning Nymi band from Android app

我正在尝试从我的 android 应用程序配置 Nymi 手环。我使用的示例代码来自 Nymi Android SDK 2.0(可以从 here: 下载)。我删除了所有与 Nymulator(Nymi 手环模拟器)相关的代码。我想用真正的 Nymi 乐队测试配置。但是,当我单击配置按钮时,应用程序崩溃了。我尝试使用异常断点对其进行调试,但在我的调试器中出现 "getsockopt errno 88" 错误:

我也附上截图。

我对 google 做了一些研究,发现 errno 88 是

#define ENOTSOCK    88  /* Socket operation on non-socket */

在应用程序启动期间,我在调试控制台中看到以下消息:

Connected to the target VM, address: 'localhost:8604', transport: 'socket'

我认为,与套接字的连接很好。不太清楚,后来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");

截图:

(免责声明:我对这个 SDK 或乐队一无所知,这个答案只是一个猜测。我已经删除了我之前的答案,因为它是在黑暗中错过的镜头。)

SDK 中有一个小提示 README.md:

Prerequisites:

  • Android Development:
    • [...]
    • To use the BasicExample app with a Nymi Band, the NCL library in Examples\BasicExample\libs must be replaces with the native library in NCL\native\libs

您必须删除 BasicExample\libs 中的所有文件和文件夹,然后将 NCL\native\libs 中的所有文件复制到那里。

(我想知道他们为什么不更加强调这一点...)

所以libs文件夹应该包含以下文件夹和文件: