android studio框架实例,Android Studio中的Gstreamer示例

我已经从Gstreamer的网站上做了所有教程,但是很难.为了帮助另一个人,我记录了它.这里是linux(ubuntu)的教程,但也可以在windows上工作,如果你有任何疑问,请问:)…我还将链接一个项目从gitlab准备好在Android Studio中运行:(教程5)

https://gitlab.com/eduardoprado/gstreamer-tutorial5.git(教程2)

https://gitlab.com/eduardoprado/gstreamer-tutorial2.git

在Android Studio上使用该库

理解GStreamer并将其集成到项目中的最佳方法是在本网站上进行教程:

对不起,您必须自己找到链接,我没有声望发布直接链接

但是这些教程已经很老了,并且在Eclipse中工作,为了使用Android Studio,必须:

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

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

3.在“Android.mk”文件中设置变量;

4.设置Gradle只编译一些架构;

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

6.从Android Studio禁用“Instante Run”. (编辑10/27/2017)

7.修复“链接器黄金参数”(仅限WINDOWS用户编辑11/28/2017)

以下各节将解释这些说明中的每一条:

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

Android Studio可以选择从其他IDE导入项目.要将对Eclipse进行的Gstreamer项目导入以下步骤:

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

2.在Android Studio中,转到文件 – >新进口项目;

3.在新的文件浏览器屏幕中,转到“gst-docs”,选择所需的项目(在我的案例教程5中)“android-tutorial-5”并点击“确定”.

2.将Android Studio设置为使用NDK

现在项目已导入,需要通知Android Studio项目使用NDK框架.因此,Gradle将能够导入和处理所有依赖项.

为此,我们需要链接文件Android.mk(已在教程文件夹中):

1.右键单击左侧导航选项卡中的“app”

2.单击“使用Gradle链接C项目”

3.在新窗口中:

>将“构建系统”从“CMake”更改为“ndk-build”

>单击“…”并浏览到Android.mk的位置“/AndroidStudioProjects/android-studio-5/app/src/jni/Android.mk”

>点击确定

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

3.在“Android.mk”文件中设置变量

发生最后一部分错误是因为“Android.mk”找不到GStreamer被提取的路径.因此,让我们将GSTREAMER_ROOT_ANDROID变量设置为提取GStreamer的路径.

为达到这个:

1.浏览左侧选项卡,展开“External Build FIles”;

2.双击Android.mk打开文件;

3.在第10行,在“include $(BUILD_SHARED_LIBRARY)”下,键入:

– “GSTREAMER_ROOT_ANDROID:= path”

– 没有引号

– path是显然提取GStreamer的路径.

Gradle将同步后,将显示错误“***目标拱ABI不支持:mips.停止”.

4.设置Gradle只编译一些架构

发生最后一部分错误是因为Grade尝试为不同的体系结构构建,但它找不到要在MIPS中构建的文件.要解决此问题,我们将指定要构建的体系结构,不包括MIPS:

1.在左侧浏览器选项卡中,展开Gradle Scripts;

2.双击“build.gradle(Module:app)”

3.在“moduleName”下的行中输入:(运行教程5)

– abiFilters’x86′,’armeabi’,’armeabi-v7a’,’arm64-v8a’

(运行教程2)

– abiFilters’x86′,’arm64-v8a’

(编辑11/21/2017:最近我遇到arm64-v8a的问题… 64位设备不显示直播,我解决了“删除arm64-v8a”的问题)

(编辑3/29/2018:我意识到根据您的Gstreamer和NDK版本可能需要删除更多架构,如果它不起作用尝试不同的删除组合)

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

最后需要的配置是关于Main类中的包导入.

上面显示的错误是因为没有GStreamer类来获取“.init”函数.要解决这个问题,我们需要从提取它的文件中复制GStreamer类并粘贴到指定的路径:

>使用系统中的文件管理器浏览到解压缩GStreamer的文件.

>从提取的文件中,浏览到GStreamer类的位置.它位于/arm/share/gst-android/ndk-build/GStreamer.java

复制GStreamer.java

>返回Android Studio并创建Main类尝试从左侧浏览器选项卡中的/ app / java开始访问的导入路径.因此,对于上图,我们必须创建路径org.freedesktop.gstreamer并将文件GStreamer.java粘贴到其中:

>右键单击java Folder

>新 – >包

>输入org.freedesktop.gstreamer

>右键单击org.freedesktop.gstreamer并粘贴

5.现在已解决导入错误,但新类有错误.要解决这些问题,您只需从复制的类中删除“@”以及位于“@”之间的所有内容.

6.从Android Studio禁用“Instante Run”. (编辑27/10/2017)

Android Studio中的此功能可能会在尝试运行项目时出现问题,因此禁用它是一个好主意.

禁用“Instante Run”:

1.在Android Studio上转到“文件” – > “设置…”(Ctrl Alt S)

2.“构建,执行,部署” – > “即时奔跑”

3.取消选中“在部署时启用即时运行以热插拔代码/资源更改(默认启用)”

4.点击“应用”

7.修复“链接器黄金参数”(仅限WINDOWS用户)

尝试使用Windows时,您将收到错误消息:

错误:错误:参数’-fuse-ld = gold’中的链接器名称无效

要解决这个问题:

1.转到Android NDK Linker (GStreamer) – invalid linker name -fuse-ld=gold2.按照Antoine Zambelli的回答说明进行操作.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值