Android,共享库依赖项
- 我正在 Android 上实现一个使用 LibAv/ffmpeg 的应用程序
- 我正在使用 JNI 与本机代码交互
- 我的“共享库”正在使用 libswscale.so、libavutil.so、libavformat.so、libavdevice.so、libavcore.so 和libavcodec.so。
- 所有“共享库”都经过验证,打包到 APK 文件上的同一目录中,
- 我正在设备上调试(无模拟器)
- Runtime.loadLibrary($MY_LIB_NAME) 触发 UnsatisfiedLinkError 异常
- 直接运行 'System.loadLibrary("swscale" )' 也会导致 UnsatisfiedLinkError 异常
我的猜测是 libav*.so 依赖于应添加到 APK 中的其他库,但是,我不确定如何检测这些。 有没有工具可以检测依赖的共享库? (窗口 ddepend 等效)?
任何帮助将不胜感激。
〜纳达夫
- I am Implementing an application that is using LibAv/ffmpeg on Android
- I am using JNI to interact with the Native code
- my 'Shared Lib' is using libswscale.so, libavutil.so, libavformat.so, libavdevice.so, libavcore.so and libavcodec.so.
- All the 'Shared Libs' are verified to be packed to the same directory on the APK file
- I am debugging on the device ( no emulator )
- Runtime.loadLibrary($MY_LIB_NAME) trigger an UnsatisfiedLinkError exception
- Directly running 'System.loadLibrary("swscale")' also cause an UnsatisfiedLinkError exception
My guess is that libav*.so is dependent on additional libs that should be added to the APK, however, I am not sure how to detect these.
Is there any tool to detect dependent Shared libraries? ( Window ddepends equivalent ) ?
Any help will be appreciated.
~Nadav
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 objdump 工具列出所需的共享库:
适用于 Windows。更改您操作系统的 objdump 工具的路径。
You can use objdump tool to list needed shared libraries:
That's for windows. Change path to objdump tool for your OS.