我一直试图在设备上运行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,如果这完全相关的话。这个文件夹里有什么东西吗?导致此错误的原因是什么?非常感谢任何答案。
答案 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
期间出现错误,您忽略了它们。