2013-02-11 5 views
1

Я пытаюсь декодировать файлы OGG на Android, используя проект NDK (я пробовал несколько). Независимо от того, какой из них я стараюсь, я всегда получаю сообщение об ошибке, похожее на это, когда я строю:Импорт проектов Android NDK (для декодирования OGG)

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

Я новичок в НДК (очевидно), так что я не уверен, что я делаю неправильно. Все, что я хочу сделать, это установить скорость воспроизведения файла OGG.

ответ

1

Ява часть кода ссылается на объект общей библиотеки (.so-файл), который получается путем компиляции частей кода C++/NDK с помощью ndk-build. В этом случае ваше приложение не может найти нужный файл .so для загрузки. Вот несколько вещей, которые вы могли бы проверить -

  1. Очень простая проверка - вы запустили «ndk-build» внутри jni-папки? Если вы этого не сделали, файл .so не создается - eclipse все равно будет компилировать ваш проект, но он не сработает.
  2. Если ваш корневой каталог проекта PROJECT, проверьте $ (PROJECT)/jni/libs/armeabi или $ (PROJECT)/jni/libs/armeabi-v7a - либо оба эти места должны содержать .so-файл, как только вы выполняются командой «ndk-build».
  3. Проверьте, что где-то в вашем Java-коде вы вызываете «System.LoadLibrary» в этом .so-файле. Я думаю, что это должно быть «System.LoadLibrary (videokit)», но я не уверен.
Смежные вопросы