首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android上初始化Myo时不满意的链接错误

在Android上初始化Myo时不满意的链接错误
EN

Stack Overflow用户
提问于 2016-01-06 23:11:27
回答 1查看 986关注 0票数 6

我正在开发一个安卓应用程序,它将使用迈奥臂章。我想实现它作为一个可访问性服务,以便手势由臂章可以检测到,例如导航回家等。

我正在尝试初始化集线器,但是应用程序停止使用以下错误堆栈:

代码语言:javascript
复制
01-06 23:42:41.222 11979-11979/eu.miko.myoid E/AndroidRuntime: FATAL EXCEPTION: main
                                                           Process: eu.miko.myoid, PID: 11979
                                                           java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/eu.miko.myoid-1/base.apk"],nativeLibraryDirectories=[/data/app/eu.miko.myoid-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libgesture-classifier.so"
                                                               at java.lang.Runtime.loadLibrary(Runtime.java:367)
                                                               at java.lang.System.loadLibrary(System.java:1076)
                                                               at com.thalmic.myo.scanner.Scanner.<clinit>(Scanner.java:31)
                                                               at com.thalmic.myo.Hub.init(Hub.java:201)
                                                               at eu.miko.myoid.MyoidAccessibilityService.onCreate(MyoidAccessibilityService.java:21)
                                                               at android.app.ActivityThread.handleCreateService(ActivityThread.java:2877)
                                                               at android.app.ActivityThread.-wrap4(ActivityThread.java)
                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427)
                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                               at android.os.Looper.loop(Looper.java:148)
                                                               at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

根据Myo文档,这是我用于集线器初始化的代码。我尝试过将其同时放入可访问性服务的onCreate和onServiceConnected方法中,但无论如何都会出现错误。

代码语言:javascript
复制
    Hub hub = Hub.getInstance();
    if (hub.init(this, getPackageName())) {
        Intent intent = new Intent(this, ScanActivity.class);
        startActivity(intent);

        hub.setLockingPolicy(Hub.LockingPolicy.NONE);

        hub.addListener(mListener);
    }
    else {
        Log.e(TAG, "Could not initialize the Hub.");
    }

我正在使用最新的。最新固件Nexus 5的测试。

在我看来,这似乎是SDK内部的一个错误,但也许这与我的配置有关?任何帮助都将不胜感激。

不过,SDK中给出的示例似乎不存在相同的问题。

从理论上讲,通过以下方式添加lib手势-clifier.so文件:

  1. 我通过build.gradle文件将Myo包含在项目中: 依赖{ ..。存储库{ maven { //这必须指向Myo url‘./ myorepository’}编译(‘com.thalmic:myosdk:0.10.+@aar’)}分发的myorepository
  2. 肌食欲不振含有肌球蛋白-0.10.0.aar。
  3. 当我将它作为zip查看时,它包含libs/本机libs.jar。
  4. 当作为一个拉链检查时,它包含

,其中每个文件都包含单个文件lib手势-分类器。

EN

回答 1

Stack Overflow用户

发布于 2016-05-30 08:55:00

我可以通过切换到Android的gradle插件的早期版本来解决这个问题。在myosdk中的本机库似乎有问题,它们没有被正确地复制。

只需从项目中编辑build.gradle文件即可。1.3.0版本适用于我。

代码语言:javascript
复制
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        **classpath 'com.android.tools.build:gradle:1.3.0'**
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34644616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档