ubuntu 14 编译视频第三方库ijkplayer,可以在winows下使用

Posted buled

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 14 编译视频第三方库ijkplayer,可以在winows下使用相关的知识,希望对你有一定的参考价值。

1.先安装相关环境,具体在这里http://blog.163.com/zhuowr2006@126/blog/static/98334653201612310647799/  根据上面那个安装之后,会直接有个eclipse+sdk。sdk那个只有一个版本但是暂时不用去升级,不影响。
2.根据这个官方https://github.com/Bilibili/ijkplayer 的api要求去下载个ndk r10e  下载地址:http://blog.csdn.net/ultrapro/article/details/46008805  根据你ubuntu安装是多少位来下载,我的是64位的,所以下载 android-ndk-r10e-linux-x86_64.bin  3.通过命令去安装ndk。 3.1 下载好后,直接拉进去ubuntu 里面
3.2  打开控制台,因为直接在根目录下了,所以直接使用 chmod a+x android-ndk-r10e-linux-x86_64.bin 然后右击查看路径,输入:/home/admins/android-ndk-r10e-linux-x86_64.bin 等他安装好就能在这个目录里面看到他了    4.设置环境变量 4.1 直接在根目录,alt+h,显示隐藏文件,找到.bashrc文件。添加以下环境变量
  1. export ANDROID_SDK=~/Development/adt-bundle-linux-x86-20130917/sdk  
  2. export ANDROID_NDK=~/Development/android-ndk-r9b  
  3. export PATH=$PATH:$ANDROID_SDK:$ANDROID_NDK:$ANDROID_SDK/platform-tools/  
具体的文件名根据实际来,因为sdk之前我们已经有了,所以也是需要配置的。 配置完成后长这样:
 保存下就OK了 5.之后就进入怎么编译第三方库ijkplayer
5.1确保你的机器上已经安装了git和yasm,如果没有请在终端执行以下命令: sudo apt-get update sudo apt-get install git sudo apt-get install yasm
5.2确保配置文件中ANDROID_SDK=xxx和ANDROID_NDK=xxx正确(注:声明路径变量的名字一定要以ANDROID_SDK和ANDROID_NDK命名,否则后边的编译会出问题,我的路径都声明在了.bashrc中) 5.3 首先从Bilibili在github上的代码库中可隆一份源码git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android (注:需要点时间下载 5.4  cd ijkplayer-android (注:定位到此目录下) 5.5  切换分支

git checkout -B latest k0.4.5

5.6 执行命令

./init-android.sh

注意:这里有可能会出现这个问题:

 解决方案:

打开/ijkplayer-android/tools下的pull-repo-ref.sh文件:

将 “ --dissociate ” 删掉

[cpp]  view plain  copy print ?
  1. REMOTE_REPO=$1  
  2. LOCAL_WORKSPACE=$2  
  3. REF_REPO=$3  
  4. if [ -z $1 -o -z $2 -o -z $3 ]; then  
  5.     echo "invalid call pull-repo.sh '$1' '$2' '$3'"  
  6. elif [ ! -d $LOCAL_WORKSPACE ]; then  
  7.     git clone--dissociate --reference $REF_REPO $REMOTE_REPO $LOCAL_WORKSPACE#将--dissociate删掉  
  8.     cd$LOCAL_WORKSPACE  
  9.     git repack -a  
  10. else  
  11.     cd $LOCAL_WORKSPACE  
  12.     git fetch --all --tags  
  13.     cd -  
  14. fi  
  15. #! /usr/bin/env bash  

然后保存文件,再次执行./init-android.sh 接着继续进行......

或者升级git到最新版本,其中会支持“dissociate”命令


5.7 下载好后,执行

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all  (注:all是编译所有cpu下支持的库,是可以选择的,这里我们还是选默认,如果你的ANDROID_SDK=xxx和ANDROID_NDK=xxx的路径没有问题话,就开始成功执行编译了。这是个漫长的等待过程)

最后出现下图,恭喜可以进行下一步了。

按照上图的提示,我们回到ijkplayer-android/android的目录下,执行这个脚本

cd ..

./compile-ijk.sh all (注:如果去掉all则只会编译出armv7a架构的so文件,否则会是全部)

上述所有的命令全部执行成功后,现在就可以/ijkplayer-android/android/目录下的ijkplayer导入Android Studio中了。

特此更新一下:

我在其他文章中都是到这里就完了,在ubuntu中,按照上面编译完成之后就是可以运行的了,但是无奈我的电脑太卡,或者习惯在winows下使用as的同学要怎么办根本没写,这里我试了下,用下面这种方法就可以将编译好的项目拿到winows下使用了:

1.首先我们要直接在winows下,下载整个项目:https://github.com/Bilibili/ijkplayer

2.导入到as里面,这个时候你运行到播放器这里就会挂掉,没关系。

3.我们看下编译好的支持库里面会生成什么

这里我们选择其中一个arm64 ,生成了libs和obj两个文件夹


还有一个比较重要的是他会在jni生成一个新的.mk文件,这个mk等下会用到


4.打开as我们现在这个坑爹项目,将在ubuntu里面编译好的libs、obj 复制过来,还有jni下的Android.mk覆盖掉原来那个

如图我选择的是arm-64,其他的支持库也是一样的


5.然后再运行一次,你就可以尽情的玩了~~哈哈


参考了以下文章:

http://www.jianshu.com/p/b447f6601501

http://blog.csdn.net/liuyuejinqiu/article/details/50728013

https://github.com/Bilibili/ijkplayer

最后:还有一个将其修改为eclipse可用的教程附上:

http://blog.csdn.net/fatiao101/article/details/49586379

以上是关于ubuntu 14 编译视频第三方库ijkplayer,可以在winows下使用的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 14 编译视频第三方库ijkplayer,可以在winows下使用

ubuntu 14 编译视频第三方库ijkplayer,可以在winows下使用

Ubuntu编译ijkplayer so库并播放本地raw/assets文件

Ubuntu编译ijkplayer so库并播放本地raw/assets文件

Ubuntu编译ijkplayer so库并播放本地raw/assets文件

Ubuntu编译ijkplayer so库并播放本地raw/assets文件