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