2016-01-06 12 views
6

Myoアームバンドを使用するAndroidアプリケーションを開発しています。私はアクセシビリティサービスとして実装したいので、アームバンドで検出されたジェスチャーは、私はハブを初期化しようとしているAndroidでMyoハブを初期化するときに、満足できないリンクエラーが発生しました

など家庭ナビゲートしますが、このアプリは、次のエラー・スタックを停止します。

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) 

これはミョードキュメントごとに、私はハブの初期化に使用するコードです。私はアクセシビリティサービスの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:[email protected]') 
    } 
    
  2. myorepositoryにはmyosdk-0.10.0.aarが含まれています。私はジッパーとしてそれを検討する際、ネイティブlibs.jar LIBS /今度はジッパーとして調べ、

  3. が含まれ、

  4. は、単一のファイルが含まれ、それぞれが、a list of architecture foldersが含まれていますlibgesture- classifier.so

+0

あなたのアプリに 'libgesture-classifier.so'ファイルを追加しましたか? – geisshirt

+0

はい、問題の編集をご覧ください:) –

+0

@ user2363767:これには適切な解決策がありますか?回避策として.soファイルを手動で 'src/main/jniLibs'フォルダにコピーしました。 – JiTHiN

答えて

1

以前のバージョンのAndroid用gradleプラグインに戻って問題を解決できました。 myosdk内のネイティブライブラリに問題があるようで、正しくコピーされません。

プロジェクトからbuild.gradleファイルを編集するだけです。バージョン1.3.0が私のために働いた。

関連する問題