ijkPlayer的编译
2016-03-23 17:05
696 查看
环境准备
硬件环境: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
export ANDROID_SDK=~/Development/adt-bundle-linux-x86-20130917/sdk
export ANDROID_NDK=~/Development/android-ndk-r9b
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应用。
相关文章推荐
- linux系统中关于中断、异常、系统调用、陷阱等概念的解析
- String StringBuilder StringBuffer 对比 总结得非常好
- ViewPager+Fragment,Fragment会预加载的问题
- 45.Android 第三方开源库收集整理(转)
- 算法 - 递归 - 汉诺塔问题
- oc-26-动态类型检测
- dijkstra 求单源最短路径 —— hdu 1874
- ORB+暴力匹配
- 对MVC的理解
- JVM中的flag设置
- Hadoop 使用combiner提升性能
- 判断一棵树是不是另外一棵树的子树(dfs)
- Spark RDD(DataFrame) 写入到HIVE的代码实现
- Android蓝牙开发全面总结
- solr新建core
- java——栈和队列 面试题
- NSOJ Minimum Transport Cost
- 简单数论
- python 赋值、深浅拷贝、作用域
- Android开发60条技术经验总结