Android IjkPlayer编译(Mac)

简介: 使用工具:Mac 10.10.5 (14F2511)(android-ndk-r14b)[https://developer.android.google.

使用工具:

1. 打开终端,安装homebrew, git, yasm

# 安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安装git
brew install git
# 安装yasm
brew install yasm

2. 配置NDK与SDK

# add these lines to your ~/.bash_profile or ~/.profile
export ANDROID_SDK=<your sdk path>
export ANDROID_NDK=<your ndk path>

命令行

vim ~/.bash_profile
# 或者
vim ~/.profile

配置后如下图:

img_daec669abfd3c843e7e2d684e7ee9065.png
图1.png

注:等号两边不要填空格

3. 克隆项目

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android

4. 下载并编译ffmpeg

# 进入ijkplay-android目录
cd ijkplayer-android 
# 安装ffmpeg,此处等待,如果中途出现异常,可以重复执行此命令
./init-android.sh 
# 进入config文件夹
cd config
# 移除默认的配置
rm module.sh
#拷贝module-default.sh为module.sh
ln -s module-default.sh module.sh
# 进入android/contrib目录
cd ..
cd android/contrib
# 清楚ffmpeg的编译文件
./compile-ffmpeg.sh clean
# 编译ffmpeg的所有架构
./compile-ffmpeg.sh all

编译完成后,在contrib/build/文件夹下生成ffmpeg的对应的架构文件夹,在每个架构对应的文件夹下的output目录下会生成一个libijkffmpeg.so文件。


img_48056363655482af57643d1461c4c19b.png
图2.png

5. 编译ijkplayer

cd ..
./compile-ijk.sh all

编译完成之后,在android/ijkpleyer文件夹的对应架构下,在路径("/src/main/libs/架构名/")下生成libijkplayer.so、libijkffmpeg.so、libijksdl.so三个文件。


img_b4b7dfb3d8c57512cf9490bc77f7a2a4.png
图3.png

参考文章

目录
相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
223 1
|
5月前
|
Java API 开发工具
如何将python应用编译到android运行
【6月更文挑战第27天】本文介绍在Ubuntu 20上搭建Android开发环境,包括安装JRE/JDK,设置环境变量,添加i386架构,安装依赖和编译工具。并通过`p4a`命令行工具进行apk构建和清理。
85 6
如何将python应用编译到android运行
|
22天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
67 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
1月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
5月前
|
Android开发 iOS开发
android自动化编译
android自动化编译
|
3月前
|
Android开发 Docker 容器
docker中编译android aosp源码,出现Build sandboxing disabled due to nsjail error
在使用Docker编译Android AOSP源码时,如果遇到"Build sandboxing disabled due to nsjail error"的错误,可以通过在docker run命令中添加`--privileged`参数来解决权限不足的问题。
508 1
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
114 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
3月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
181 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
3月前
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
218 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?