Win10子系统Ubuntu下面编译ijkplayer
一、在Win10上面安装Ubuntu
1、打开windows10开发人员模式;打开步骤为:设置-->更新和安全-->开发者选项,点击“开发人员模式”打开即可,具体如图:
2、在控制面板中添加linux子系统;添加步骤为:控制面板-->程序-->启用或关闭windows功能,勾选”适用于windows的linux的子系统“,点击确定,如图:
3、安装Ubuntu;安装步骤:Microsoft store-->搜索ubuntu-->选择Ubuntu进行安装,具体如图:
这里我选择的是ubuntu16.04
4、打开ubuntu,a、win+r,在运行框里输入bash b、在应用列表里找到ubuntu。具体如下图
5、输入用户名和密码,第一次登陆会创建用户名和密码。用户名和密码尽量简单点儿,容易记为好
二、在ubuntu上面配置ijkplayer的编译环境
1、更换源,我选择的是阿里源,参照https://blog.csdn.net/minicto/article/details/62240020 这个方法
2、执行下列命令安装git、make、yasm:
sudo apt-get install git make yasm
3、下载安装ndk、jdk、sdk。ndk选择10e版本,jdk选择18版本,sdk我选择26版本
NDK:https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,选择Linux_x64版本
Java SE Development Kit 8u181
SDK:http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz,使用wget命令下载,
上述三个包都解压到~/env 目录下面,然后再配置~/.bashrc 这个文件。~是你的个人所属目录:~ 与/home/zhangshan等价
首先保存.bashrc这个文件,然后如下面是我所配的环境,保存退出,然后运行 source ~/.bashrc
JAVA_HOME=/home/winston/env/jdk1.8.0_181
JRE_HOME=$JAVA_HOME/jre
JAVA_BIN=$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH CLASSPATH
SDK_MANAGER=/home/winston/env/sdk/sdk-tools/bin
ANDROID_SDK=/home/winston/env/sdk
ANDROID_NDK=/home/winston/env/android-ndk-r10e
export ANDROID_NDK
export ANDROID_SDK
export SDK_MANAGER
# 加入到PATH路径
PATH=$PATH:$ANDROID_NDK:$SDK_MANAGER:$ANDROID_SDK
PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
export PATH
java -version//命令行检查java是否配置号
ndk-build -v //命令行检查
三、拉取代码编译
# 直接拉取源代码到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
# 检查更新代码,这一步是拉取分支代码 k0.x.x,可以去github上面去看最新版号,latest是你本地的版本名称
git checkout -B latest k0.x.x
# 初始化,会把ffmpeg的代码拉取到本地等等操作
./init-android.sh
cd android/contrib
./compile-ffmpeg.sh clean
# 编译ffmpeg软解码库
./compile-ffmpeg.sh all
cd ..
# 会生成各种版本的so文件,生成的文件在\android\ijkplayer\ijkplayer-armv7a\src\main\libs\armeabi-v7a下面
./compile-ijk.sh all
经验总结:
1、整个项目过程SDK是比较难搞的,我当时用的sdkmanager 命令一个一个去下载,其实是可以去网上下载linux版本的sdk,直接解压即可
2、版本当时git checkout -B latest k0.x.x,一定确定你当时拉取的是最新的代码
3、可以把ijkplayer项目放在windows下面,例如/mnt/d/project下面
以上是 Win10子系统Ubuntu下面编译ijkplayer 的全部内容, 来源链接: utcz.com/a/69691.html