2013-02-11 40 views
1

我想在Android中使用NDK项目解码OGG文件(我试了几次)。不管我是哪一个,当我建我总是得到类似这样的错误:导入Android NDK项目(解码OGG)

Caused by: java.lang.UnsatisfiedLinkError: Couldn't load videokit: findLibrary returned null 

我很新的NDK(明显),所以我不知道我做错了。我想要做的就是能够设置OGG文件的播放速率。

回答

1

代码的java部分链接到共享库对象(.so文件),它通过使用ndk-build编译代码的C++/NDK部分而获得。在这种情况下,您的应用程序无法找到要加载的正确.so文件。这里有几件事你可以检查 -

  1. 非常基本的检查 - 你在jni文件夹中运行“ndk-build”吗?如果你没有,生成没有.so文件 - eclipse仍然会编译你的项目,但它不会工作。
  2. 如果您的项目根目录是PROJECT,请检查$(PROJECT)/ jni/libs/armeabi或$(PROJECT)/ jni/libs/armeabi-v7a - 一旦您或两个位置都应该包含.so文件用“ndk-build”命令完成。
  3. 检查你的java代码中的某个地方,你在这个.so文件上调用“System.LoadLibrary”。 我认为它应该是“System.LoadLibrary(videokit)”,但我不确定。