1

我正在尝试使用 NDK 项目在 Android 中解码 OGG 文件(我尝试了一些)。无论我尝试哪一个,我在构建时总是会收到类似的错误:

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

我对 NDK 很陌生(显然),所以我不确定我做错了什么。我想做的就是能够设置OGG文件的播放速率。

4

1 回答 1

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)”,但我不确定。
于 2013-02-12T02:37:09.460 回答