簡體   English   中英

com / sun / jna / android-arm / libjnidispatch.so在資源路徑中找不到

[英]com/sun/jna/android-arm/libjnidispatch.so not found in resource path

以下所有內容均在Android Studio中完成。

我已經成功編譯並測試了Android Watson Speech to Text演示應用程序。 然后,我創建了一個包含Watson相關API的庫項目和一個帶有引用Watson庫項目的簡單UI的第二個應用程序項目。 UI成功啟動並將Watson語音調用為文本api。 我以為我已經准備好使用Watson庫項目了。

所以我將Watson API項目合並到了我的“真實”項目中。 當我啟動與Watson的應用程序連接時,我得到:

E/AndroidRuntime: FATAL EXCEPTION: initStreamToServerThread
                   Process: com.sixflags.android, PID: 25481
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/android-arm/libjnidispatch.so) not found in resource path (.)
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:786)                                                                              
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:746)                                                                            
at com.sun.jna.Native.<clinit>(Native.java:135)                                                                          
at com.sun.jna.NativeLibrary.<clinit>(NativeLibrary.java:82)                                                                          
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:337)                                                                          
at com.ibm.watson.developer_cloud.android.speech_to_text.v1.opus.JNAOpus.<clinit>(JNAOpus.java:42)                                                                         
at com.ibm.watson.developer_cloud.android.speech_to_text.v1.audio.OggOpusEnc.initEncoderWithUploader(OggOpusEnc.java:53)
at com.ibm.watson.developer_cloud.android.speech_to_text.v1.audio.WebSocketUploader.initStreamAudioToServer(WebSocketUploader.java:113)
at com.ibm.watson.developer_cloud.android.speech_to_text.v1.audio.WebSocketUploader.access$000(WebSocketUploader.java:46)
at com.ibm.watson.developer_cloud.android.speech_to_text.v1.audio.WebSocketUploader$2.run(WebSocketUploader.java:175) 

我在libs目錄中包含了speech-android-wrapper.aar,並且包含在gradle.build依賴項中:

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.ibm.watson.developer_cloud:java-sdk:2.10.0'
compile(name: 'speech-android-wrapper', ext: 'aar')

我的應用程序相當大,正在使用multi-dex'ing,所以我想知道這是否可以找出問題的線索。

我確實在應用程序部分遇到了另一個問題與AndroidManifest.xml清單沖突,我通過添加解決了這個問題:

tools:replace="android:icon,android:name"

我不知道這怎么可能導致鏈接錯誤,但只是把它扔出去,以防我錯過了它的重要性。

尋找建議。

如果您正在引用“speech-android-wrapper”模塊,請在您的gradle中使用此配置:

compile project(':speech-android-wrapper')

如果您正在使用AAR庫,請嘗試以下操作:

dependencies {
  //...
  debugCompile(name:'speech-android-wrapper-debug', ext:'aar')
  releaseCompile(name:'speech-android-wrapper-release', ext:'aar')
}

...

repositories{
  //...
  flatDir{
    dirs 'libs'
  }
}

圖標問題已在另一個回購中解決,很快將合並到Watson Developer Cloud回購。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM