【问题标题】:Importing Android NDK projects (to decode OGG)导入 Android NDK 项目(解码 OGG)
【发布时间】:2013-01-27 01:17:07
【问题描述】:
我正在尝试使用 NDK 项目在 Android 中解码 OGG 文件(我尝试了一些)。无论我尝试哪一个,我在构建时总是会遇到类似的错误:
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load videokit: findLibrary returned null
我对 NDK 很陌生(显然),所以我不确定我做错了什么。我要做的就是能够设置OGG文件的播放速率。
【问题讨论】:
标签:
android
android-ndk
ogg
vorbis
【解决方案1】:
代码的java部分链接到一个共享库对象(.so文件),该对象是通过ndk-build编译C++/NDK部分代码得到的。在这种情况下,您的应用无法找到要加载的正确 .so 文件。以下是您可以检查的一些事项 -
- 非常基本的检查 - 您是否在 jni 文件夹中运行了“ndk-build”?如果你不这样做,则不会生成 .so 文件 - eclipse 仍会编译你的项目,但它不会工作。
- 如果您的项目根目录是 PROJECT,请检查 $(PROJECT)/jni/libs/armeabi 或 $(PROJECT)/jni/libs/armeabi-v7a - 一个或两个位置应该包含一个 .so 文件,一旦您使用“ndk-build”命令完成。
- 检查您的 java 代码中的某处,您正在对此 .so 文件调用“System.LoadLibrary”。
我认为它应该是“System.LoadLibrary(videokit)”,但我不确定。