开源播放器ijkplayer-android编译

环境准备

硬件环境:PC机一台

操作系统:Ubuntu 12.04(我是Ubuntu+XP双系统)

软件环境:除Ubuntu预装的所有应用,还需要以下工具:git, ant, ccache, sdk, ndk。

其中git,ant和ccache直接使用sudo apt-get install XXX安装即可。

sdk和ndk可以在android developer网站下载,下面给出分别的下载地址:

http://dl.google.com/android/ndk/android-ndk-r9b-linux-x86.tar.bz2

http://dl.google.com/android/adt/adt-bundle-linux-x86-20130917.zip

【注】git, ant, ccache工具的说明可以参考百度/谷歌等网络资料。

编译前的准备

1. 在$HOME目录下建立一个Development文件夹,后续我们所有的代码均放到该目录下

2. 将下载好的adt和ndk拷贝到刚才创建的Development文件夹中,并直接解压

tar xf android-ndk-r9b-linux-x86.tar.bz2

unzip adt-bundle-linux-x86-20130917.zip

3. 配置环境变量

设置ANDROID_SDK和ANDROID_NDK环境变量,并添加PATH环境变量中。

修改$HOME/.bashrc文件,在最后面添加如下代码:

[plain]  view plain copy
  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/  
其中将$ANDROID_SDK/platform-tools/添加到PATH环境变量中,这样就将一些adb调试的工具添加到环境变量中,可以方便连接设备调试。

4. 下载ijkplayer的代码

因为我们研究的对象ijkplayer是github上的一个开源项目,因此使用git下载其版本管理库:

git clone https://github.com/bbcallen/ijkplayer.git

【注】ijkplayer更多的信息请参考githuab上项目页面:https://github.com/bbcallen/ijkplayer

编译ijkplayer库

进入到ijkplayer目录

cd ijkplayer

执行init-android.sh脚本,脚本的主要作用是下载ffmpeg源码。

sh init-android.sh

执行完成后,下载好的ffmpeg源码会放到android/ffmpeg-armv7a目录。进入android目录下,执行compile-ffmpeg.sh脚本即可完成ffmpeg的编译

cd android

sh compile-ffmpeg.sh

  然后,在执行compile-ijk.sh脚本,完成ijk部分的编译。

sh compile-ijk.sh

  编译后会生成如下的文件:

ijkmediaplayer/libs/armeabi-v7a/libffmpeg.so
ijkmediaplayer/libs/armeabi-v7a/libijkplayer.so
ijkmediaplayer/libs/armeabi-v7a/libijksdl.so
ijkmediaplayer/libs/armeabi-v7a/libijkutil.so
ijkmediaplayer/libs/armeabi-v7a/libstlport_shared.so

编译ijkplayer Demo

      打开eclipse(我们刚才下载的adt中除了sdk还有一个配置好的eclipse,位于~/Development/adt-bundle-linux-x86-20130917/eclipse/目录中),打开后直接就可以创建/使用android project。

      将位于~/Development/ijkplayer/android/目录的三个android工程导入到eclipse中。其中ijkmediaplayer和ijkmediawidget两个工程编译出来的是jar包和so库,真正可以编译成apk的是ijkmediademo工程。

     因为eclipse配置了自动构建,因此导入工程后,即开始自动构建。但是初次构建会失败,报出如下错误:

Cannot run program "ndk-build": Unknown reason
Error: Program "ndk-build" is not found in PATH

     而我们明明在命令行,直接输入ndk-build是可以正常使用的,即ndk-build确实是在PATH中,这与当前的error信息不符。结合在windows上的android开发经验,再加上查询其它网络资料,应该是eclipse本身没有配置ndk的原因。

    在eclipse-->Preferences-->Android-->NDK中,设置好正确的ndk路径:~/Development/android-ndk-r9b。然后,重新clean project --> build project --> run,即可在手机或者AVD上调试demo应用。

你可能感兴趣的:(多媒体)