代码之家  ›  专栏  ›  技术社区  ›  Josiki

Android Studio中的Gstreamer示例

  •  7
  • Josiki  · 技术社区  · 7 年前

    我一直在尝试让Gstreamer在Android studio中工作,遵循他们的教程,例如,请参见:

    https://gstreamer.freedesktop.org/documentation/tutorials/android/link-against-gstreamer.html

    或者我只是做一个安卓。mk文件,如果是,在哪里(因为没有jni文件夹,只有一个cpp文件夹)?我该如何告诉Android studio在哪里找到我的Android。mk文件?

    谢谢

    2 回复  |  直到 7 年前
        1
  •  26
  •   Eduardo Fernando    7 年前

    我已经完成了Gstreamer网站上的所有教程,但这很难。为了帮助其他人,我记录了它。以下是的教程 但可能也适用于windows,如果您对此有任何疑问,请提问:)…我还将链接gitlab中的一个项目,该项目已准备好在Android Studio中运行:
    https://gitlab.com/eduardoprado/gstreamer-tutorial5.git
    (教程2) https://gitlab.com/eduardoprado/gstreamer-tutorial2.git

    在Android Studio中使用库

    对不起,你必须找到自己的链接,我没有声誉张贴直接链接
    然而,这些教程很旧,是在Eclipse中编写的,为了与Android Studio配合使用,必须:


    2、将Android Studio设置为使用NDK;

    4、设置Gradle只编译一些架构;
    5.将Gstreamer类复制到正确的路径。
    6.禁用Android Studio中的“Instant Run”。(2017年10月27日编辑)

    1.使用Android Studio导入选项导入教程


    1.从git下载所有教程:;



    Selecting Project

    2、将Android Studio设置为使用NDK

    现在项目已经导入,需要通知Android Studio该项目使用NDK框架。因此,Gradle将能够导入和处理所有依赖项。
    1.在左侧导航选项卡中的应用程序上单击鼠标右键

    3、在新窗口中:


    • 点击“…”并浏览到Android。mks location“/AndroidStudioProjects/android-studio-5/app/src/jni/android.mk”
    • 点击OK

    现在外部构建文件将出现在项目左侧选项卡中。一些错误也会出现,这是正常的,将在下一节中更正。

    3、在Android内部设置一个变量。mk文件

    GSTREAMER\u ROOT\u ANDROID 变量到提取GStreamer的路径。

    2.双击Android。mk打开文件;
    3.在第10行的“include$(BUILD\u SHARED\u LIBRARY)”下,键入:
    路径 "
    -
    -路径是提取GStreamer的路径(显然)。
    之后,Gradle将进行同步,并显示错误“***目标架构ABI不受支持:mips.Stop”。

    Setting GSTREAMER_ROOT_ANDROID

    4.Set Gradle只编译一些架构


    1、在左侧浏览器选项卡中,展开渐变脚本;

    3、“moduleName”下的行中键入:

    -ABI过滤器“x86”、“armeabi”、“armeabi-v7a”、“arm64-v8a”
    (运行教程2)
    -ABI过滤器“x86”、“armeabi-v7a”、“arm64-v8a”
    (2017年11月21日编辑:最近我遇到了arm64-v8a的问题…64位的设备不会显示实时流媒体,我也解决了“删除arm64-v8a”的问题)
    (2018年3月29日编辑:我意识到可能需要根据您的Gstreamer和NDK版本删除更多架构,如果不起作用,请尝试不同的删除组合)

    enter image description here

    5.将Gstreamer类复制到正确的路径。



    Class import error

    1. 使用系统中的文件管理器浏览到提取GStreamer的文件。
    2. 从提取的文件中,浏览到GStreamer类的位置。它位于/arm/share/gst-android/ndk-build/GStreamer.java 复制GStreamer.java
    3. 右键单击java文件夹
    4. 键入org.freedesktop.gstreamer
    5. 右键单击org.freedesktop。gstreamer和Paste 5、导入错误现已解决,但新类有错误。要解决这些问题,您只需从复制的类中删除@以及@之间的所有内容。


    Android Studio的这项功能在尝试运行项目时可能会导致问题,因此最好禁用它。
    禁用“Instant Run”:

    1.在Android Studio中,进入“文件”->“设置…”(Ctrl+Alt+S)
    2.“构建、执行、部署”->“即时跑步”

    4、点击“应用”

    7.修复“linker gold argument”(仅限WINDOWS用户)

    尝试打开Windows时,会出现以下错误:
    Error:error: invalid linker name in argument '-fuse-ld=gold'
    要修复它:
    1.转到 Android NDK Linker (GStreamer) - invalid linker name -fuse-ld=gold
    Antoine Zambelli的

        2
  •  2
  •   avlacatus    6 年前

    经过几天的努力,我发现gstreamer教程文档已经更新为使用gradle构建系统。您可以在中看到完整的工作示例 https://cgit.freedesktop.org/gstreamer/gst-docs/ ,参见2018年6月14日提交的“Android教程:添加gradle构建系统”