为PocketSphinxAndroidDemo创建和使用Java绑定库

为PocketSphinxAndroidDemo创建和使用Java绑定库,android,xamarin.android,xamarin,Android,Xamarin.android,Xamarin,我想为Xamarin创建一个Java绑定库,然后在我的Android应用程序中使用。我已经做了以下工作: 下载了PocketSphinxAndroidDemo项目,并使用Eclipse在我的Android设备上安装并运行了它,没有任何问题-本机java代码运行良好 在Visual Studio中创建了一个Java绑定库,其中pocketsphinx-android-0.8-nolib.jar文件标记为EmbeddedJar,并始终标记为“复制到输出目录”,并将其编译好。我正在使用下载的演示项目

我想为Xamarin创建一个Java绑定库,然后在我的Android应用程序中使用。我已经做了以下工作:

  • 下载了PocketSphinxAndroidDemo项目,并使用Eclipse在我的Android设备上安装并运行了它,没有任何问题-本机java代码运行良好
  • 在Visual Studio中创建了一个Java绑定库,其中pocketsphinx-android-0.8-nolib.jar文件标记为EmbeddedJar,并始终标记为“复制到输出目录”,并将其编译好。我正在使用下载的演示项目中的jar
  • 在我的Visual Studio解决方案中添加了一个android应用程序项目,并添加了对我的绑定库的引用
  • 将lib/armeabi/libpocketsphinx_jni.so添加到我的应用程序项目(也是armeabi-v7a)(使用演示项目中的文件)中,并将*.so文件标记为AndroidNativeLibrary,将“复制到输出”目录设置为“始终复制”
不管我做什么,我都不能运行C代码行

var config=Decoder.DefaultConfig()

我总是得到一个
Java.Lang.UnsatifiedLinkError
异常()。我试图运行这行代码,因为演示项目有这行java:

Config=defaultConfig()

我的问题是,我是否需要在这里使用
DllImport
?或者
Java.Lang.JavaSystem.LoadLibrary
?这是一个应该使用ndk构建项目的场景吗

我尝试了DllImport和LoadLibrary,但都没有成功。任何线索或事情尝试非常感谢

提前感谢,


大卫

根据我收到的回复,我想我需要打电话

Java.Lang.JavaSystem.LoadLibrary(“pocketsphinx_jni”)


在我的类的OnCreate方法中,在调用DefaultConfig方法之前。

能否共享您的绑定?我很想在我的Xamarin项目中使用PocketSphinx。嗨,Florian,没问题,我已经在我的博客上以zip文件的形式发布了它::)@DavidConlisk文件已关闭。还有别的地方可以买到吗?另外,我如何将其更新到最新版本?@amitairos我的网站刚刚出现问题,请尝试此链接:不幸的是,它太旧了,我不确定您将如何更新它。祝你好运好啊谢谢!