windows+msys2编译android版ijkplayer

近来想研究一下ijkplayer,发现在windows上编译有很多的坑。搞了一天终于能运行example,过程就像排雷一般,但也对整个项目结构了解了一番。记录下来!
可能有些坑没记得写下来,欢迎留言。
下载我改过的文件。

准备材料

环境配置

安装完msys2后从开始菜单启动msys2 minggw 64-bit,理论上其他两个也可以。
可参考这个https://segmentfault.com/n/1330000004236998进行基本环境配置,
然后使用pacman安装git,make,yasm,python,例如:

pacman -S git

然后安装上ndk。

下载项目

先下载项目。

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8

再下载依赖库ffmpeg,libyuv,soundtouch,这里脚本中为每个cpu架构都下载了一个对应的ffmpeg,但我对比过都没区别。

./init-android.sh

创建一个文件ndk-source.txt,内容为

export ANDROID_NDK=你自己的ndk目录(E:/ndk/android-ndk-r14b)
export ANDROID_SDK=你自己的sdk目录(C:/Users/Administrator/AppData/Local/Android/Sdk)

注意修改成你自己的ndk和sdk目录。

编译ffmpeg

先source 一下刚才的ndk-source.txt

source ./ndk-source.txt

往下都只编译armv7a架构,我这么做是为了方便排雷,其它的参考修改应该可行。
1.修改android/contrib/tools/do-compile-ffmpeg.sh
我选择level16,其它估计也可行

FF_ANDROID_PLATFORM=android-16

修改armv7a分支下的(其它架构的可以同样修改)

FF_CROSS_PREFIX=$FF_BUILD_ROOT/build/$FF_BUILD_NAME/toolchain/bin/arm-linux-androideabi

还有以下

export COMMON_FF_CFG_FLAGS=
. $FF_BUILD_ROOT/../../config/module-lite.sh
#export PATH=$FF_TOOLCHAIN_PATH/bin/:$PATH
#export CC="ccache ${FF_CROSS_PREFIX}-gcc"
#export CC="${FF_CROSS_PREFIX}-gcc"
#export LD=${
   FF_CROSS_PREFIX}-ld
#export AR=${
   FF_CROSS_PREFIX}-ar
#export STRIP=${
   FF_CROSS_PREFIX}-strip
./configure $FF_CFG_FLAGS --sysroot=$FF_SYSROOT \
        --extra-cflags="$FF_CFLAGS 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值