0

几天来,我一直试图让 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,如果这完全相关的话。这个文件夹里应该有什么东西吗?是什么导致了这个错误?非常感谢任何形式的答案。

4

1 回答 1

0

当我转到位于 /PocketSphinxAndroidDemo/obj/local/armeabi/objs-debug 中的 pocketsphinx_jni 文件夹时,它似乎是空的。

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

这个文件夹里应该有什么东西吗?

在这个特定文件夹中,您应该有类似pocketsphinx_wrap.o.d. 这些文件是用ndk-build.

是什么导致了这个错误?

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

于 2013-07-10T23:07:25.780 回答