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,

参考此文章:http://itindex.net/detail/50349-android-otto-%E6%A1%86%E6%9E%B6

到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/1o7gOXei






  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
以下是一些提升Eclipse编译速度的方法: 1. 增加内存分配:可以通过修改Eclipse的启动配置文件来增加分配给Eclipse的内存。找到eclipse.ini文件并打开它,然后在文件的末尾添加以下行: ``` -Xms512m -Xmx1024m ``` 这将分配512MB的初始堆大小和1024MB的最大堆大小给Eclipse。根据你的系统配置,你可以根据需要调整这些值。 2. 关闭自动构建:Eclipse默认会在保存文件时自动构建项目,这可能会导致编译速度变慢。你可以通过禁用自动构建来提高编译速度。在Eclipse的菜单栏中选择“Project” -> “Build Automatically”来关闭自动构建。 3. 使用增量编译Eclipse的增量编译功能可以只编译发生更改的文件,而不是整个项目。你可以在Eclipse的菜单栏中选择“Project” -> “Build Automatically” -> “Build All”来进行增量编译。 4. 禁用无用的构建器:Eclipse可能会加载一些不必要的构建器,这会降低编译速度。你可以在Eclipse的菜单栏中选择“Window” -> “Preferences” -> “Builders”来禁用不需要的构建器。 5. 清理项目:定期清理项目可以删除一些临时文件和无用的编译输出,从而提高编译速度。你可以在Eclipse的菜单栏中选择“Project” -> “Clean”来清理项目。 6. 更新Eclipse和插件:确保你使用的是最新版本的Eclipse和插件,因为新版本通常会修复一些性能问题。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值