在Android设备上运行PocketSphinxDemo时加载pocketsphinx_jni的异常

时间:2013-07-10 21:07:07

标签: android cmusphinx

我一直试图在设备上运行Android的Pocketsphinx演示几天。但是,每当我尝试运行演示时,我都会在LogCat中收到此错误:

FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
    at java.lang.Class.newInstanceImpl(Native Method)

然后是一堆更多错误,但重要的最后一个是

    at edu.cmu.pocketsphinx.demo.PocketSphinxDemo.<clinit>(PocketSphinxDemo.java.18)

PocketSphinxDemo.java中的第18行是

System.loadLibrary("pocketsphinx_jni");

当我访问位于/ PocketSphinxAndroidDemo / obj / local / armeabi / objs-debug中的pocketsphinx_jni文件夹时,它似乎是空的。我正在运行ubuntu,如果这完全相关的话。这个文件夹里有什么东西吗?导致此错误的原因是什么?非常感谢任何答案。

1 个答案:

答案 0 :(得分:0)

  

当我去找pocketphinx_jni文件夹时,位于   / PocketSphinxAndroidDemo / obj / local / armeabi / objs-debug,它似乎   是空的。

System.loadLibrary未加载文件夹,它会加载库。 libpocketsphinx_jni.so是在构建过程中使用ndk-build构建的库。 objs-debug/pocketsphinx_jni是用于构建此库的临时文件夹,它应包含临时文件。图书馆本身必须位于Demo/libs/armeabi/ libpocketsphinx_jni.so

  

此文件夹中是否有任何内容?

在此特定文件夹中,您应该拥有pocketsphinx_wrap.o.d等文件。这些文件是使用ndk-build创建的。

  

导致此错误的原因是什么?

您没有ndk-build运行,或ndk-build期间出现错误,您忽略了它们。