gpt4 book ai didi

java - 在 Android 上初始化 Myo hub 时出现不满意的链接错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:23 25 4
gpt4 key购买 nike

我正在开发一个将使用 Myo 的 Android 应用程序臂章。我想将其实现为无障碍服务,以便臂章检测到的手势可以,例如导航回家等

我正在尝试初始化集线器,但应用停止并出现以下错误堆栈:

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 方法中,但无论如何都会出现错误。

    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.");
}

我使用的是最新的 Myo Android SDK。使用最新固件在 Nexus 5 上进行测试。

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

SDK 中给出的样本似乎没有遇到同样的问题。

理论上是添加了libgesture-classifier.so文件,通过以下方式:

  1. 我通过 build.gradle 文件将 Myo SDK 包含在项目中:

    dependencies {
    ...
    repositories {
    maven {
    // this must point to the myorepository distributed with the Myo SDK
    url '../myorepository'
    }
    }
    compile('com.thalmic:myosdk:0.10.+@aar')
    }
  2. myorepository 包含 myosdk-0.10.0.aar。

  3. 当我将其作为 zip 检查时,其中包含 libs/native-libs.jar

  4. 当检查为 zip 时,它又包含 a list of architecture folders ,每个都包含单个文件 libgesture-classifier.so

最佳答案

我可以通过切换回适用于 Android 的 gradle 插件的早期版本来解决问题。 myosdk 中的 native 库似乎有问题,它们没有被正确复制。

只需编辑项目中的 build.gradle 文件即可。 1.3.0 版对我有用。

// 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'**
}
}

关于java - 在 Android 上初始化 Myo hub 时出现不满意的链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34644616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com