从Android应用程序供应Nymi乐队

时间:2015-06-23 15:45:09

标签: android errno

我正在尝试从我的Android应用程序中配置Nymi乐队。我正在使用Nymi Android SDK 2.0中的示例代码(可以从here:下载)。我删除了与Nymulator(Nymi波段仿真器)相关的所有代码。我想用真正的Nymi频段测试配置。但是,当我单击“配置”按钮时,应用程序将崩溃。我尝试使用异常断点调试它,我得到了" getsockopt错误88"我的调试器出错:

我也附上了截图。enter image description here

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

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

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

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

我认为,与套接字的连接很好。我不确定,后来套接字连接出错的原因是什么。

这是我在单击配置按钮后在我的LOgCat中看到的内容:(我只发布错误消息的某些部分,因为Logcat中的错误消息太长了) enter image description here

编辑:我添加了一些断点,我发现应用程序崩溃的位置。我找到了这段代码:

    try {
        System.loadLibrary("_nymi_sdk_net");
        _loaded = true;
    } catch (UnsatisfiedLinkError var6) {
        return false;
    }

在system.load库中,我收到错误。

编辑2:我将库从net更改为native,因为net用于模拟器,native用于设备。这次新错误发生在同一行:System.loadLibrary("_nymi_sdk");

截图:enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

  

先决条件:

     
      
  • Android开发:      
        
    • [...]
    •   
    • 要将BasicExample应用程序与Nymi Band一起使用,Examples \ BasicExample \ libs中的NCL库必须替换为本机库中的NCL库   NCL \天然\库
    •   
  •   

您必须从BasicExample\libs删除所有文件和文件夹,然后从NCL\native\libs复制所有文件。

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

因此libs文件夹应包含以下文件夹和文件:

Screenshot of the file tree in the example project