Android ijkplayer在windows下编译并导入Android Studio
我是看着里面的步骤来做的,由于我自己对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-/sdk
export ANDROID_NDK=C:/android-ndk-r10e
这个路径一定不能错了,错了也是无法编译的。
2. Cygwin编译ijkplayer需要注意:
为自己匮乏的linux知识感到愧疚,开始我所有的编译命令都是在dos窗口下进行的,现在想想真的是醉了,我还奇怪了,为啥无法识别rm 和 ln 命令。我们在安装的cygwin目录中双击Cygwin.bat文件或者是桌面你创建的快捷图标就可以启动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文件是不是快递终于到了的感觉。
我的整个工程我会上传,大家可以对照着看看。整个工程打包后有一个多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
# }
我导入后没有提示错误,也可以在手机上运行:
运行效果:
默认是横屏的,应为是AndroidTV的播放器。
播放效果:
下载地址———————————↓
Demo代码百度云下载
APK可运行下载
编译后封装过直接可用
Android ijkplayer在windows下编译并导入Android Studio的更多相关文章
- windows下编译boost for android
env: windows xp 32 bit mingw official NDK 1. 下载源代码 地址是 :http://sourceforge.net/projects/boost/fi ...
- 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- osg for android学习之一:windows下编译(亲测通过)【转】
1. 首先需要一个OSG for android的环境 (1)NDK 现在Eclipse 对NDK已经相当友好了,已经不需要另外cygwin的参与,具体可以参考 Android NDK开发篇(一):新 ...
- react-native —— 在Windows下搭建React Native Android开发环境
在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- 在Windows下编译OpenSSL(VS2005和VC6)
需要说明的是请一定安装openssl-0.9.8a . openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
- 如何在WINDOWS下编译BOOST C++库 .
如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25 写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0. 1)下载boost ...
随机推荐
- 集合TreeSet的使用
集合中的TreeSet是集合体系结构中的底层实现,是Collection的孙子,Set的儿子.TreeSet除拥有父接口的特点外,还有其自身的特点.下面就看看TreeSet的排序是怎么实现的.从它的构 ...
- c#DataGridView复制粘贴删除功能
//可在dgv中复制.剪切.粘贴.删除数据 /// <summary> /// DataGridView复制 /// </summary> /// <param name ...
- 超链接:a标签
a标签的功能:实现跳转功能 a标签的重要属性:href,target href的值为跳转目标的地址,如果是跳转页面的话,需要这个页面的超链接. target的值有四个:_blank._self._pa ...
- 13-Linux中进程与线程的概念以及区别
linux进程与线程的区别,早已成为IT界经常讨论但热度不减的话题.无论你是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.对于一般的程序员,搞清楚二者的概念并在工作中学会运用是 ...
- 洛谷 P1020 导弹拦截 (LIS)
第一问最长 不上升子序列,第二问最长上升子序列 套模板就好https://blog.csdn.net/qq_34416123/article/details/81358447 那个神奇的定理当作结论吧 ...
- 紫书 例题 10-24 UVa 1641(面积计算)
遍历一遍,遇到边界为奇数次时,格子在多边形内 偶数次时,在多边形外 #include<cstdio> #define REP(i, a, b) for(int i = (a); i < ...
- Java基础学习总结(26)——JNDI入门简介
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有 ...
- JAVA JS 中的 modulus exponent 生成 C# 公匙
C#用的是xml,里面是base64编码的.你上面的就是hex格式,只要把上面hex格式转成byte数组,然后在base64编码就可以了. public static byte[] Hex2Byte( ...
- ArcGIS api for javascript——创建地图
描述 这个示例显示ArcGIS Server的一个地图.ArcGIS Server地图是缓存的,意味着它有服务器管理员建来提升性能的一组预先渲染的切片.由于这个原因地图通过ArcGISTiledMap ...
- 关于App程序猿泡沫
前言 做开发快七年了,对于程序猿,外行人总有着数不完的讽刺和误解,可是我都懒得去解释.代码搬运工人也好,民工也罢,随他们去说吧.可是网上近期流传的程序猿泡沫,尤其是APP程序猿泡沫的文章导致非常多我们 ...