在Mac下编译ijkplayer os文件

在Mac下编译ijkplayer os文件

第一步:

1.安装homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

      

2.如果没有安装git,安装 git。否则跳过

brew install git

3.安装 yasm 。

brew install yasm

第二步,安装好git和yasm后就要下载NDK来配置环境

       1 ndk下载链接:https://developer.android.google.cn/ndk/downloads/index.html

       2 配置ndk路径:

              打开Terminal输入: 

open -e .bash_profile

              打开bash_profile文件

在文件里面添加:

                            export PATH=$PATH:你的ndk路径

                            ANDROID_NDK=你的ndk路径

                           export ANDROID_NDK

               然后 command+s 保存 ,Terminal输入source .bash_profie 更新下(一定不要忘了,我就是忘了这步导致编译失败,第二个坑)

        最后检测是否配置ndk路径成功,在Terminal输入:ndk-build

第三步,将ijkplayer框架源码clone到本地并编译,依次在终端输入如下命令:

1.clone 代码:

git clone https://github.com/bilibili/ijkplayer.git ijkplayerMacyasm

2. 

cd ijkplayerMacyasm

3.切换到最新版本:k0.8.8

git checkout -B latest k0.8.8

4. 编译之前

编译前选择你的配置

选择自动化编译时的一些配置选项,比如支持的协议,音视频类型等,官方给我们提供了三个模板。

可以打开config/目录下config/module.sh看看,enable启用,disable禁用

module-default.sh
module-lite-hevc.sh
module-lite.sh

5.开始编译

执行初始化

初始化会下载各种包,尽量选择在良好的网络环境下

./init-android.sh

初始化OpenSSL
./init-android-openssl.sh

编译OpenSSL和FFmpeg
首先清除相关信息

cd android/contrib

./compile-openssl.sh clean

./compile-ffmpeg.sh clean
编译OpenSSL 和 FFmpeg
./compile-openssl.sh all

./compile-ffmpeg.sh all
 
最后编译ijkplayer

生成so  切换到android目录下(cd ..),执行如下命令 生成so文件

cd ..

./compile-ijk.sh all

正确编译的话,会分别在ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64这些项目的src/main/libs/对应的名称 目录下分别生成libijkffmpeg.so、libijkplayer.so、libijksdl.so这三个so文件

结束。。。。。

补充:

ndk版本问题:

build on Darwin x86_64
ANDROID_NDK=/xx/Library/Android/sdk/ndk-bundle
IJK_NDK_REL=14.0.3529234-beta1
You need the NDKr10e or later

去下载对应版本: https://developer.android.google.cn/ndk/downloads/revision_history

最后Mac 解压.bin文件

步骤就两步很简单,

1,设置权限:

chmod a+x android-ndk-r10e-darwin-x86_64.bin

2,运行解压:

./android-ndk-r10e-darwin-x86_64.bin

3,再重新前面编译步骤,完成 

猜你喜欢

转载自blog.csdn.net/ck3345143/article/details/111281546#comments_15290897