首页 编程设计Android 正文

windows下用cygwin编译android版ijkplayer

云水 Android 2021-06-15 10:53:57 1780 0 ijkplayer

1. 环境搭建

1.1 安装cygwin,并安装git,make,ysam

具体安装过程网上有很多资料,不再详述。

1.2 android sdk和android ndk下载和安装

参见网上资料

1.3 下载ijkplayer源码

git clone https://github.com/Bilibili/ijkplayer.git ijkplayercd ijkplayer
git checkout -B latest k0.3.1

1.4 设置环境变量

在cygwin的home目录下,修改 ~/.bash_profile 或 ~/.profile文件,添加

 export ANDROID_SDK=<your sdk path> export ANDROID_NDK=<your ndk path>

其中的路径根据实际情况填写。

2. 编译过程

进入ijkplayer源码根目录

cd config
rm module.sh
ln -s module-default.sh module.sh#以上是默认的设置,也可以使用# ln -s module-lite.sh module.sh

回到ijkplayer源码根目录

# 下载ffmpeg源码./init-android.shcd android/contrib
./compile-ffmpeg.sh clean#编译ffmpeg,,以armv7a架构的cpu代码为例进行编译./compile-ffmpeg.sh armv7a#编译ijkplayercd ..
./compile-ijk.sh armv7a

如果编译成功的话,会在
F:ijkplayerandroidijkplayerplayer-armv7asrcmainlibsarmeabi-v7a下生成三个so库文件
image.png

3. 编译过程中容易出问题的地方

注意:该步容易出问题,我在开始时编译只生成了一个libijkffmpeg.so。原因是F:ijkplayerandroidijkplayerplayer-armv7asrcmainjni下使用了软链接,ijkmedia和android-ndk-prof分别链接到ijkplayer根目录下的/ijkmedia和/ijkprof,而cygwin和android NDK在处理文件夹软链接时似乎有问题,所以并没有执行ijkmedia和ijkprof的编译。

基于以上问题,可以做如下修改

  • 将ijkmedia和ijkprof的makefile文件写在F:ijkplayerandroidijkplayerplayer-armv7asrcmainjniAndroid.mk
    文件的最后,用include包含进来
    image.png

  • 删除F:ijkplayerandroidijkplayerplayer-armv7asrcmainjni下的ijkmedia和android-ndk-prof

  • 将compile-ijk.sh中生成android-ndk-prof链接文件的部分注释掉
    image.png

4. 将工程导入eclipse中,编译并运行

File -> New -> Project -> Android Project from Existing CodeSelect android/ and import all project

编译后在真机运行即可

5. 参考文献

ijkplayer的github主页:https://github.com/Bilibili/ijkplayer


版权声明

1.本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2.本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3.若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
4.若内容涉及侵权或违法信息,请联系本站管理员进行下架处理,邮箱ganice520@163.com(本站不支持其他投诉反馈渠道,谢谢合作)

本文链接:http://apod.cc/index.php/post/576.html

发表评论

评论列表(0人评论 , 1780人围观)
☹还没有评论,来说两句吧...