ijkplayer在windows下编译并导入Android Studio

2024-05-05 04:58

本文主要是介绍ijkplayer在windows下编译并导入Android Studio,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PS:必须说,这个编译千万不要在windows下,去ubuntu下编译吧:
教程:http://blog.csdn.net/u010072711/article/details/51438871

  阅读本文章前请先看:windows下用cygwin编译android版ijkplayer

  我是看着里面的步骤来做的,由于我自己对linux环境和命令不熟悉,导致我对Cygwin的知识为零,在编译ijkplayer的时候走了一点弯路,需要的同学先去看一下上面的这篇文章,我这边是对上面文章做补充和详细描述,下面就是需要注意的几个点:

1. Cygwin在windows下安装需要注意:

  安装Cygwin时选择安装包的时候一定要选上make包,不然我们的编译无法通过,至于文章中提到的git,ysam,其中git大家都知道,至于ysam是什么我没搜到。 make包的安装请参考:cygwin安装GNU make
   还有一点需要说明的就是在cygwin的home目录下,修改 ~/.bash_profile 或 ~/.profile文件,添加你的ANDROID_SDK和ANDROID_NDK的路径,我的路径如下:

export ANDROID_SDK=E:/adt-bundle-windows-x86_64-20131030/sdk
export ANDROID_NDK=C:/android-ndk-r10e

这个路径一定不能错了,错了也是无法编译的。

2. Cygwin编译ijkplayer需要注意:

   为自己匮乏的linux知识感到愧疚,开始我所有的编译命令都是在dos窗口下进行的,现在想想真的是醉了,我还奇怪了,为啥无法识别rm 和 ln 命令。我们在安装的cygwin目录中双击Cygwin.bat文件或者是桌面你创建的快捷图标就可以启动Cygwin了。
cygwin界面
要是你的home目录下的路径配置有问题的话会在打开Cygwin窗口的最上面两行提示你。
  配置完成后就按照大神的文章的步骤来进行,在执行 ./compile-ffmpeg.sh armv7a 命令的时候界面会停止一段时间,大概十分钟的样子(不知道是不是我的电脑配置不行),这句应该是在配置ffmpeg的编译环境,我当时以为是卡死了就退出来了,可想而知编译失败了,第二次等了十分钟才好的,提醒在界面不动的时候小伙伴们不要强制退出来了。

3. 解决只能编译一个libijkffmpeg.so文件需要注意:

   将ijkmedia和ijkprof的makefile文件写在F:\ijkplayer\android\ijkplayer\player-armv7a\src\main\jni\Android.mk
文件的最后,用include包含进来,开始我使用的是相对路径,试了好几次还是只可以编译出一个so文件,后来我改成了绝对路径才好的,要是小伙伴们也遇到了那就试试绝对路径吧:

include G:/ijkplayer/ijkmedia/*.mk
include G:/ijkplayer/ijkprof/android-ndk-profiler-dummy/jni/*.mk

下面是我编译出来的文件
so文件
最后看到编译出来三个so文件是不是快递终于到了的感觉。
  我的整个工程我会上传,大家可以对照着看看。整个工程打包后有一个多G,无法上传到CSDN,只能百度云了,地址:Demo百度云下载

4. ijkplayer工程导入Android Studio需要注意:

导入没有啥注意的,按照官方给出的步骤就可以了,当然前提是你的编译没有问题才可以运行起来:

# 导入Eclipse:
#     File -> New -> Project -> Android Project from Existing Code
#     Select android/ and import all project
#
# 导入Android Studio:
#     Open an existing Android Studio project
#     Select android/ijkplayer/ and import
#
#     define ext block in your root build.gradle
#     ext {
#       compileSdkVersion = 22       // depending on your sdk version
#       buildToolsVersion = "22.0.1" // depending on your build tools version
#     }

我导入后没有提示错误,也可以在手机上运行:
AndroidStudio

运行效果:
运行效果
默认是横屏的,应为是AndroidTV的播放器。

播放效果:
播放效果

下载地址———————————↓
  Demo代码百度云下载
  APK可运行下载
  编译后封装过直接可用

这篇关于ijkplayer在windows下编译并导入Android Studio的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/960849

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Java easyExcel实现导入多sheet的Excel

《JavaeasyExcel实现导入多sheet的Excel》这篇文章主要为大家详细介绍了如何使用JavaeasyExcel实现导入多sheet的Excel,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录1.官网2.Excel样式3.代码1.官网easyExcel官网2.Excel样式3.代码

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间