android studio集成ijkplayer的示例代码
发布时间 - 2026-01-11 03:29:32 点击率:次介绍

ijkplayer是一款非常火的开源视频播放器,android和IOS通用。关于怎么编译怎么导入android Studio中自己的项目,其中坑很多,本篇记录下自己的操作记录。ijkplayer现在的版本是0.8.3,当然是使用最新的版本集成了。
编译ijkplayer
关于编译,我是在Ubuntu上编译后拷贝到win10中的,ijkplayer源码需要gcc编译,windows各种不好用,如果使用cynwin还不如在ubuntu下编译。
编译的过程是下载sdk,ndk。设置环境变量后按照github上的说明编译即可.
android studio集成ijkplayer
1.导入到你的项目中
android studio打开你的项目,File->Import Module...选择ijkplayer的anroid/ijkplayer目录,ijk-example依赖所有库,所以导入后所有项目都会导入到你的项目中。
2.将android/ijkplayer目录下的tools文件夹也拷贝到自己项目的根目录下。
3. 在ijkplayer-java\src\main\目录下新建一个名为jniLibs的文件夹,将各个ijkplayer-xxx目录中的\src\main\libs目录下的文件夹拷贝到jniLibs文件夹中,如:ijkplayer--armv7a的该目录下包含armeabi-v7a这个文件夹,其中包含了该平台对应的.so文件,如果希望包含所有平台的,就将所有ijkplayer-xxx下的全部拷过来,如果只希望某几个平台的,就只拷贝它们的。
4.将ijkplayer-xxx的目录全部从项目中删除掉,只保留ijkplayer-example、ijkplayer-java、ijkplayer-exo以及tools文件夹,其中ijkplayer-example依赖于后面几个。android studio删除项目需如下图所示:
并将相对应的文件夹删除即可。
5.将ijkplayer-example修改为Module的形式,因为ijkplayer-example本身是一个application工程,默认不生成aar文件,且里面的资源互相依赖,难以像旧版本通过复制所需的几个java文件到自己工程中的方式来使用,所以不如将整个ijkplayer-example转换为我们工程的一个Module。具体方法是:
先修改ijkplayer-example目录下的build.gradle文件,如下:
apply plugin: 'com.android.library'
android {
// http://tools.android.com/tech-docs/new-build-system/tips
//noinspection GroovyAssignabilityCheck
compileSdkVersion rootProject.ext.compileSdkVersion
//noinspection GroovyAssignabilityCheck
buildToolsVersion rootProject.ext.buildToolsVersion
lintOptions {
abortOnError false
}
defaultConfig {
minSdkVersion 9
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildToolsVersion '25.0.0'
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:preference-v7:23.0.1'
compile 'com.android.support:support-annotations:23.0.1'
compile 'com.squareup:otto:1.3.8'
compile project(':ijkplayer-java')
compile project(':ijkplayer-exo')
}
注意:
- apply plugin: 'com.android.application'要改为apply plugin: 'com.android.library'
- applicationId "tv.danmaku.ijk.media.example"这句要去掉
- compile 'com.android.support:appcompat-v7:25.0.0'
- compile 'com.android.support:preference-v7:23.0.1'
- compile 'com.android.support:support-annotations:23.0.1'
- compile 'com.squareup:otto:1.3.8'
这几个修改为自己安装的版本。
6.在ijkplayer-example根目录下增加一个gradle.properties文件,内容如下:
POM_NAME=ijkplayer-example POM_ARTIFACT_ID=ijkplayer-example POM_PACKAGING=aar
7.在自己的项目中添加依赖项,如下图所示:
完成上述操作,点击async gradle即可。
其他错误:
如果出现
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
如上类似错误,那是几个项目的sdk版本不同引起的,四个项目包含你自己的项目的compileSdkVersion 、
buildToolsVersion、targetSdkVersion和compile 'com.android.support:appcompat-v7:25.0.0'
几个版本必须要统一,如果不统一会出现各种问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android
# studio集成ijkplayer
# ijkplayer
# android集成ijkplayer
# Android基于IJKPlayer视频播放器简单封装设计
# 基于Android引入IjkPlayer无法播放mkv格式视频的解决方法
# 在ubuntu下编译ijkplayer-android的方法
# Android ijkplayer的使用方法解析
# android 使用 IJKPlayer 播放视频流的实现代码
# 几个
# 自己的
# 目录下
# 所示
# 如下图
# 拷贝到
# 是一个
# 导入到
# 是在
# 那是
# 还不
# 要去
# 所需
# 并将
# 就将
# 好用
# 这几个
# 转换为
# 这句
# 如在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Java遍历集合的三种方式
Laravel如何保护应用免受CSRF攻击?(原理和示例)
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
香港服务器网站卡顿?如何解决网络延迟与负载问题?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
如何在阿里云虚拟主机上快速搭建个人网站?
智能起名网站制作软件有哪些,制作logo的软件?
网站图片在线制作软件,怎么在图片上做链接?
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
如何快速搭建虚拟主机网站?新手必看指南
如何在橙子建站中快速调整背景颜色?
Laravel怎么上传文件_Laravel图片上传及存储配置
如何在橙子建站上传落地页?操作指南详解
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
linux写shell需要注意的问题(必看)
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
如何快速建站并高效导出源代码?
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
JavaScript如何实现音频处理_Web Audio API如何工作?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
深圳网站制作培训,深圳哪些招聘网站比较好?
JavaScript中的标签模板是什么_它如何扩展字符串功能
如何基于云服务器快速搭建网站及云盘系统?
javascript日期怎么处理_如何格式化输出
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
如何用AI帮你把自己的生活经历写成一个有趣的故事?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
如何在云服务器上快速搭建个人网站?
Laravel如何使用Livewire构建动态组件?(入门代码)
大同网页,大同瑞慈医院官网?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
如何快速搭建个人网站并优化SEO?
制作公司内部网站有哪些,内网如何建网站?
Android自定义listview布局实现上拉加载下拉刷新功能
Python高阶函数应用_函数作为参数说明【指导】
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何快速生成ASP一键建站模板并优化安全性?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何利用DOS批处理实现定时关机操作详解
北京的网站制作公司有哪些,哪个视频网站最好?
如何快速搭建高效香港服务器网站?

