Android上的JavaCV:来自libjniavdevice.so / dlopen的UnsatisfiedLinkError失败,无法找到符号" av_input_audio_device_next"

时间:2014-08-12 19:18:41

标签: android ffmpeg java-native-interface native javacv

我正在尝试在Android 4.4.2 / 4.3.1上使用JavaCV的FFmpegFrameGrabber。

在我调用的onCreate(...)方法中:

FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(path)

这会导致以下运行时错误:

dlopen("/data/app-lib/com.example.testjavacv-1/libjniavdevice.so")
failed: dlopen failed: cannot locate symbol "av_input_audio_device_next"
referenced by "libjniavdevice.so"

其他(可能的)相关信息:

1)我在libs / armeabi和libs / x86文件夹中包含了所有JavaCV .so库。

2)我已授予应用程序读/写外部存储权限以及访问摄像头和麦克风的权限。

3)在实例化FFmpegFrameGrabber之前,我 NOT 静态加载任何JavaCV本机库。这是因为,

  • 当我尝试自己静态加载它们时,某些库会导致运行时异常。
  • 我得到的印象是JavaCV处理它自己的本机库加载 - 例如,即使我没有请求加载jniavdevice.so库,只有当... new FFmpegFrameGrabber(...) ...代码是本。

4)我已经看过:https://groups.google.com/forum/#!topic/javacv/bgB5rCv_fVM这似乎解决了类似的问题,但建议的解决方案似乎不起作用。

对此问题的任何帮助将不胜感激, 干杯!

1 个答案:

答案 0 :(得分:0)

嘿,你知道问题解决了吗? Samuel在谷歌小组的同一链接中发布了一个链接,您已声明他已修复错误并且此链接上提供了二进制文件:Updated JavaCV Binaries但是在尝试它们之后,同样的问题仍然存在。如果你解决了,请试试让我知道!!!!另请查看Samuel声明他已修复错误的链接:JavaCV Bugs Fixed但无效!