Eclipse编译ijkplayer
Eclipse编译ijkplayer
最近在做Android播放器相关工作,根据以前的项目改写了一个简单的播放器,不过仅支持armv7a,且不支持硬解,同步等的处理仅仅是根据ffmpeg的tutorial简单的处理了一下。
发现用跟多项目使用了ijkplayer,因此打算研究一下,ijkplayer使用Android Studio编译相当简单,但是对于只熟悉Eclipse的,想在Eclipse下配置编译的也是有人的,比如我自己,故在此记录一下问题。
一、ijkplayer下载地址
https://github.com/Bilibili/ijkplayer
二、编译支持不同CPU架构的so库
库的编译按ijkplayer提示译步骤即可成功,会生成如下库文件
三、工程转Eclipse
1、
(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、导入各工程到Eclipse
4、编译armv7a和java的jar包,并在sample工程中引用
这个很简单,略过
5、编译ExoPlayer
(1)下载ExoPlayer
https://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-java
6、添加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,
参考此文章:
到otto官网http://square.github.io/otto/下载jar包,并拷贝到到sample工程的libs下
在Eclipse中,右键jar包,Build Path->Add to Build Path
9、编译sample工程
最终sample工程的设置
编译,成功生成apk
工程下载地址: http://pan.baidu.com/s/1eSK6E0U 提取密码: rdbh
本文永久更新链接地址:
评论暂时关闭