Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在资源路径中找不到com/sun/jna/android arm/libjnidispatch.so_Java_Android_Ibm Cloud_Speech To Text_Ibm Watson - Fatal编程技术网

Java 在资源路径中找不到com/sun/jna/android arm/libjnidispatch.so

Java 在资源路径中找不到com/sun/jna/android arm/libjnidispatch.so,java,android,ibm-cloud,speech-to-text,ibm-watson,Java,Android,Ibm Cloud,Speech To Text,Ibm Watson,以下所有操作都是在Android Studio中完成的 我已经成功编译并测试了Android Watson语音到文本演示应用程序。然后,我创建了一个库项目,其中包含与Watson相关的API和第二个应用程序项目,其中包含一个引用Watson库项目的简单UI。UI成功启动并调用Watson speech to text api。我以为我已经准备好真正使用沃森图书馆项目了 因此,我将Watson API项目合并到我的“real”项目中。当我启动与Watson的应用程序连接时,我得到: E/Andro

以下所有操作都是在Android Studio中完成的

我已经成功编译并测试了Android Watson语音到文本演示应用程序。然后,我创建了一个库项目,其中包含与Watson相关的API和第二个应用程序项目,其中包含一个引用Watson库项目的简单UI。UI成功启动并调用Watson speech to text api。我以为我已经准备好真正使用沃森图书馆项目了

因此,我将Watson API项目合并到我的“real”项目中。当我启动与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) 
我的应用程序相当大,并且正在使用多重索引,所以我想知道这是否可能是出了什么问题的线索

我确实在应用程序部分遇到了另一个与AndroidManifest.xml清单冲突的问题,我通过添加以下内容解决了该问题:

tools:replace="android:icon,android:name"
我不知道这怎么会导致链接错误,但只要把它扔出去,以防我忽略了它的重要性


寻找建议。

如果您正在引用“语音android包装器”模块,请在您的gradle中使用此配置:

compile project(':speech-android-wrapper')
如果您正在使用AAR libs,请尝试以下操作:

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

图标问题已在另一个回购协议中解决,不久将合并到Watson开发者云回购协议中


希望能有帮助。

迈克尔-谢谢。我会尝试一下,但我可能要到周末才能回到这个话题上来。没有乐趣。知道多重索引是否会导致问题。
dependencies {
  //...
  debugCompile(name:'speech-android-wrapper-debug', ext:'aar')
  releaseCompile(name:'speech-android-wrapper-release', ext:'aar')
}
repositories{
  //...
  flatDir{
    dirs 'libs'
  }
}