首页 / 操作系统 / Linux / Eclipse编译ijkplayer
最近在做Android播放器相关工作,根据以前的项目改写了一个简单的播放器,不过仅支持armv7a,且不支持硬解,同步等的处理仅仅是根据ffmpeg的tutorial简单的处理了一下。发现用跟多项目使用了ijkplayer,因此打算研究一下,ijkplayer使用Android Studio编译相当简单,但是对于只熟悉Eclipse的,想在Eclipse下配置编译的也是有人的,比如我自己,故在此记录一下问题。一、ijkplayer下载地址https://github.com/Bilibili/ijkplayer二、编译支持不同CPU架构的so库库的编译按ijkplayer提示译步骤即可成功,会生成如下库文件三、工程转Eclipse1、(1)将ijkplayer-android/android/ijkplayer 这个目录整个拷贝一份 (2)裁剪ijkplayer不同CPU架构的支持如下:armv5,arm64,x86和armv7a;现只添加armv7a的支持,其他的与v7a相似。
2、各工程改为Eclipse版以ijkplayer-armv7a为例,以下操作均在ijkplayer-armv7a目录下:(1)改src目录为src_1;(1)拷贝ijkplayer-armv7a/src_1/main/下所有内容 到 ijkplayer-armv7a下;(2)删除src_1目录;(3)删除src目录,将java目录更名为src其他工程(ijkplayer-java, ijkplayer-sample,ijkplayer-exo)也同样操作。3、导入各工程到Eclipse4、编译armv7a和java的jar包,并在sample工程中引用这个很简单,略过
5、编译ExoPlayer(1)下载ExoPlayerhttps://github.com/google/ExoPlayer
(2)解压到ijkplayer目录
(3)Eclipse导入ExoPlayerLib,编译(4)编译ijkpalyer-exo引用ExoPlayerLib及ijkplayer-java,设置为“Is Library”,ijkplayer-sample需去除ijkplayer-java的引用(5)也可以去除ExoPlayer根据ijkplayer的提示
ExoPlayer只是实验性的,因此暂不使用ExoPlayer,当然你也可以自己编译ExoPlayer。修改sample工程去掉ExoPlayer的支持:IjkVideoView.java中:注释如下红色内容://import tv.danmaku.ijk.media.exo.IjkExoMediaPlayer;case Settings.PV_PLAYER__IjkExoMediaPlayer: {
Log.w(TAG, "remove exomediaplayer support");
//IjkExoMediaPlayer IjkExoMediaPlayer = new IjkExoMediaPlayer(mAppContext);
//mediaPlayer = IjkExoMediaPlayer;
}去除了ExoPlayer,ijkplayer-sample需引用ijkplayer-java6、添加appcompat-v7(1)ijkplayer使用到AppCompatActivity,需使用较新的appcompat-v7打开Eclipse的SDK Manager,更新Android Support Library
我更新到了23.1.下载的内容会在/path/to/sdk/extras/android/support/
v7目录下有:
(2)编译Eclipse导入工程,appcompat,并编译,默认设置了 “Is library”sample工程设置引用此jar包7、添加preference-v7(1)此时如果编译sample工程
此时会报错,
查看ijkplayer说明
需要添加preference-v7,发现第6步时,已经将它下载下来了
(2)将此工程添加到Eclipse,并设置“Is Library”,编译,提示错误:
这个问题,查了半天没找到原因,肯定是少了啥东西。无奈之下,想到下一个现成的jar包吧,于是找到了 https://github.com/dandar3/android-support-v7-preference查看它的project.properties文件发现,配置如下:
才发现少了啥,也不需要下jar包了,按照此配置之前的preference工程,其中android-support-v7-appcompat之前就编译过了,其中也包括了v4,android-support-v7-recyclerview在preference一个目录下,将其导入Eclipse并编译;
最后编译preference成功8、ijkplayer使用了otto,参考此文章:http://www.linuxidc.com/Linux/2016-07/133744.htm到otto官网http://square.github.io/otto/下载jar包,并拷贝到到sample工程的libs下在Eclipse中,右键jar包,Build Path->Add to Build Path9、编译sample工程最终sample工程的设置
编译,成功生成apk工程下载地址: http://pan.baidu.com/s/1eSK6E0U 提取密码: rdbh本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133743.htm