ijkplayer编译(Ubuntu + Win双系统)
来源:互联网 发布:gta5ol女角色捏脸数据 编辑:程序博客网 时间:2024/05/20 08:00
前言
由于最近需要学习下ijkplayer,根据网上的教程编译了几次ijkplayer,遇到了一些坑,特记录下来。本文分为以下三个部分,
- Ubuntu下编译前准备
- 编译ijkpalyer
- 移植到Win平台
一、 Ubuntu下编译前准备
我在Ubuntu 14.04和Ubuntu 16.04 (X64)按照相同的方法都完成了编译,最终版本用的是16.04下编译的。
1. 确保你的机器上已经安装了git和yasm,如果没有请在终端执行以下命令:
sudo apt-get updatesudo apt-get install gitsudo apt-get install yasm
2. 配置 JDK + SDK + NDK
JDK
参考教程里有些有这一步,有些并没有,不知道JDK配置是不是必须的,要是在Ubuntu下做开发肯定是需要的,如果只是编译ffmpeg库的话,是不需要的。
JDK下载地址(http://jdk.android-studio.org/)选择合适的linux版本,后缀为tar.gz。SDK
SDK我是在android studio中文社区下载的,SDK地址(http://sdk.android-studio.org/),后缀为tgz。NDK
NDK现在只支持android-ndk-r10e这一个版本,之前和之后的版本我都试过,都不合适,linux下该版本可以在下面地址下载,(http://blog.csdn.net/ultrapro/article/details/46008805),三个平台下的版本都有,后缀是.bin文件。
在浏览器中下载之后,三个文件都位于Downloads文件夹下,我选择把所有的外来库和安装程序都放在/opt文件夹下,首先我建立了/opt/mylib文件夹,并把以上三项都copy到该文件夹下,
为了方便的话,可以将opt文件夹赋予很多的权限,便于之后的操作,
sudo chmod -R +777 /opt
我就是由于NDK权限太低,开始总是编译不成功,修改之后就好了。当然也可以针对单个文件夹修改权限,-R参数就是指递归到文件夹下所有的文件。
控制台进入到Downloads文件夹下,
cd ~/Downloads
运行下边的命令完成从~/Downloads到/opt/mylib的复制,其余两项也是一样,
cp jdk-8u91-linux-x64.tar.gz /opt/mylib/
对于SDK 和 JDK,可以直接解压到当前文件夹就好了,
tar zxvf jdk-8u91-linux-x64.tar.gztar zxvf android-sdk_r24.4.1-linux.tgz
对于NDK,按照下面方式安装,
首先要赋予文件可执行属性(其实我都是图省事直接用参数 +777,不知道会不会很不安全)。
sudo chmod +777 android-ndk-r10e-linux-x86_64.bin
然后按照下边命令运行,
./android-ndk-r10e-linux-x86_64.bin
安装完成之后,mylib文件下的目录结构如下,压缩文件我都还没有删除。
接下来,就需要配置ANDROID_SDK=xxx和ANDROID_NDK=xxx路径了,我是直接修改etc/profile文件,貌似还有好几种方式,各有区别,感兴趣的话可以参考引用3 的内容。
首先打开profile文件,
sudo gedit /etc/profile
在文件末尾添加如下内容,
export JAVA_HOME=/opt/mylib/jdk1.8.0_91 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATHexport ANDROID_NDK="/opt/mylib/android-ndk-r10e/"export ANDROID_SDK="/opt/mylib/android-sdk-linux/"export PATH=$PATH:$ANDROID_NDK
保存之后,
source /etc/profile
更新一下,此处完成了重启下电脑,下边就可以进行编译了。如果,前边没有任何错误的话,下边将是非常顺利的!
二、编译ijkpalyer
此处可以完全参考 引用1 中的内容,稍后我会把自己的部分补充进来。
三、移植到Win平台
其实在ubuntu下只是对ffmpeg进行了编译,编译出来的文件直接可以在win下使用,参考 引用4 中的内容,成功在win下运行起来。
- 首先,我们要直接在windows下,下载整个项目,https://github.com/Bilibili/ijkplayer。
然后,找到下图对应的目录,
我用的是三星 note2,用的是armv7a这个指令集。打开相应的文件夹如下。
将上图中的两个文件夹复制到相应的位置,我用的虚拟机,装了vm tools之后可以直接复制。
然后,更新下android.mk文件,貌似由于linux和win下的文件结束符不一样子,不能直接复制,可以打开该文件,直接将里边的内容复制到win下相应的文件中。
- 大工告成,直接用android studio打开玩耍吧!
引用
1.最可靠的Ubuntu14.04平台下编译ijkplayer教程
2.Android NDK r10e下载地址
3.Linux中profile、bashrc、bash_profile之间的区别和联系
4. 如何在Win下使用编译好的ffmpeg库
本文只是在前人的基础了,做了一些整合,把一些没有明确说明的地方详细表述了,从昨天下午开始弄,到现在也有1整天了,可以开始看代码了。初学android,多多指教。
last modified 2016-8-4
by. HolaGod (ylli.svip@gmail.com)
- ijkplayer编译(Ubuntu + Win双系统)
- win ijkplayer 编译问题
- Ubuntu 编译ijkplayer
- Ubuntu编译ijkplayer
- ubuntu下ijkplayer的编译
- 装双系统:win + ubuntu 问题解决
- 双系统 win 7 引导ubuntu
- WIN 10 安装 ubuntu 双系统
- Win/Ubuntu:双系统时间错误
- ubuntu win双系统无法进入win解决方法
- Win、Ubuntu双系统正确卸载Ubuntu系统
- Win 10 + Ubuntu 16.04 双系统卸载Ubuntu
- Win和ubuntu双系统重装win后如何找回ubuntu
- Ubuntu 14.04 下编译 ijkplayer Android
- 在ubuntu下编译ijkplayer-android
- 在ubuntu下编译ijkplayer-android
- 用ubuntu虚拟机编译ijkplayer代码
- UEFI下安装win与Ubuntu双系统
- Java基础学习第二天
- Connection refused to host: localhost; nested exception is
- The difference among VIRT, RES, and SHR in top output
- C语言KMP字符串匹配算法
- Twig 模板的Filters全纪录
- ijkplayer编译(Ubuntu + Win双系统)
- Android平板上开发应用的一点心得——精确适配不同的dpi和屏幕尺寸
- Servlet学习(七)Application
- Spring 注解的方式进行事务管理
- log(二)——MDC实现之ThreadLocal
- PAT1004 Counting Leaves
- C语言系统资源控制(getrlimit && setrlimit)
- windowsViaC/C++之设备I/O之文件设备
- firebase基础(一)<推送服务调研>