.so文件生成 android GStreamer v1.16.1

Pun*_*uLz 6 android shared-libraries video-streaming gstreamer

这是一个多部分的问题。我有关于 GStreamer 的 .so 文件生成。

我需要从 1.14.4 升级到 1.16.1 版本。我按照生成所需的 .so 文件。

在项目中,正在使用gst-launch-remote。如果我尝试使用 NDK 18 构建 GStreamer 1.16.1。我得到

error: undefined reference to 'gst_net_client_clock_new' clang++: error: linker command failed with exit code 1

我仔细检查过,被引用的变量存在于源代码中,并且还包含了所需的头文件。

问题——如何解决这个构建问题?

目前,我注释掉了导致构建失败的行,我可以用它来生成 .so 文件。

生成的 .so 文件很大,大约 150 MB。这大大增加了 .APK 文件的大小。该项目中当前使用的大小约为 40-50 MB。

问题 - 有没有办法减小 .so 文件的大小?

当我挖得更深时。我发现在路径中生成了两个 .so 文件

.../android-launch/app/build/intermediates/ndkBuild/debug/obj/local/x86_64
Run Code Online (Sandbox Code Playgroud)

一个是 GStreamer,另一个是我用作 JNI 的“C”文件。但在我的输出文件夹中,我只是 GStreamer .so。

问题 - 'C' .so 文件是否充当 GStreamer .so 文件的接口?有谁知道为什么另一个 'C' .so 用于?

问题 - 有没有办法生成多个 .so 文件,这些文件可以作为 GStreamer .so 文件的接口?如果是,那么如何?