首页 > 解决方案 > Android 应用程序找不到共享对象

问题描述

我已经为 android 交叉编译了一个 gstreamer 插件。.so 文件与其他 gstreamer 插件安装在同一位置。然后,我构建了一个 android 应用程序,将交叉编译的插件名称添加到我的 Android.mk 文件中(插件名称被传递给单独的 gstreamer-1.0.mk 文件以创建与手机上的应用程序一起安装的 libgstandroid.so )。

我还没有在我的应用程序源代码中使用该插件,我只是尝试在我的应用程序中构建/包含它作为第一步。当应用程序加载它有一个致命的例外:

java.lang.UnsatisfiedLinkError: dlopen failed: library "libgstplugin.so" not found

我不确定如何调试;似乎插件没有正确链接到 libgstandroid.so 中?

标签: androidc++android-ndkgstreamerunsatisfiedlinkerror

解决方案


我能够通过构建一个静态插件库来解决这个问题(并删除现有的共享库,因为 gstreamer make 过程似乎默认选择 .so )


推荐阅读