gpt4 book ai didi

android - 在使用 CMake (CMakeLists.txt) 而不是 ndk-build (Android.mk) 的 android ndk 项目中包含 GStreamer

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:06 47 4
gpt4 key购买 nike

我有一个 android 项目,目前使用 Cmake 来包含所有 .cpp/.c 代码。现在我想添加 GStreamer native 库,以便我可以在我的 native 代码中使用它们。但是 gstreamer 文档 https://gstreamer.freedesktop.org/documentation/installing/for-android-development.htmlonly document using ndk-build 在android上使用gstreamer。

现在我不想完全重构我的项目以使用 ndk-build 和 Android.mk 因为

  1. CMake 可以正常工作,我从来没有遇到过问题

  2. 如此处所述,cmake 是 android ndk 的默认值 https://developer.android.com/studio/projects/add-native-code

  3. 我还需要包含使用 cmake 的 googlevr ndk 库。

所以我需要找出解决方法,因此需要您的帮助。这是我想出的一些想法

  1. 每个模块都可以支持 ether cmake 或 ndk-build。所以,我可能可以使用 ndk-build 添加一个新模块并在其中包含 gstreamer(但 gstreamer 仅在此模块中可用)
  2. 在 android studio 中使用 cmake 编译适用于 android 的 gstreamer - 但我没有看到之前已经做过的证据,或者对于没有丰富 cmake 知识的人来说是可能的。

还有其他想法/改进吗?谢谢

最佳答案

即使您已经离开 GStreamer,但如果其他人遇到此问题,请查看以下 github 存储库

https://github.com/henkeldi/gstreamer-android

对于我自己,我不得不做两个修改

  1. 我修改了 GSTREAMER_ROOT 的定义以包含 ANDROID_ABI,因此看起来如下

    #GStreamer设置(GSTREAMER_ROOT $ENV{GSTREAMER_ROOT_ANDROID}/${ANDROID_ABI})

  2. 我必须根据 ANDROID_ABI 重命名 GStreamer 预构建二进制文件中的文件夹。因此,我的 Gstreamer 预建二进制文件文件夹如下所示

    enter code here

经过上述更改后,我可以使用 CMake 和 GStreamer 成功构建 APK

关于android - 在使用 CMake (CMakeLists.txt) 而不是 ndk-build (Android.mk) 的 android ndk 项目中包含 GStreamer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52056149/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com