android ijkplayer编译
2016-10-09 14:44
148 查看
其实ijkplayer的编译教程有很多,但是不自己实践一边还是不行的,遇到的问题才会自己去解决问题,其实现成的编译好的库文件也有,但是为了时时保持最新的库文件还是自己编译的好,我尝试编译其实主要是解决6.0无法加载库文件的问题,百度了一下发现是ffmpeg跟6.0的不兼容问题,自己下载最新的ndk最新的ffmpeg编译了一遍,发现还是无法解决,最后不得已更改了项目的 targetSdkVersion 为 22,变相解决了
编译环境
Ubuntu VmWare 虚拟机,安装ubantu
ubantu的安装方法
安装完毕之后 需要安装VMware Tools 工具,让虚拟机和主机之间实现交互操作
安装VMware Tools
NDKr10e 本来用10d的发现不能用,提示只能用10e或者更新的版本 64位
Android SDK 24 百度一下找到下载即可 需要linux版本的64位
sudo nautilus以ROOT方式打开文件夹
编译前准备
SDK比较好找,但是发现NDKr10e的很不好找,ndk官网又被墙了,发现可以使用ubantu的命令模式下载,
如果想要下载到指定目录:
为了方便后面的各种操作,需要先获取管理员权限 root权限
在安装其它的必备条件
sudo apt-get update
1.安装Git 命令:$ sudo apt-get install git
2.安装yasm 命令:$ sudo apt-get install yasm
3.配置环境变量
命令:$sudo gedit ~./bashrc
添加以下两个环境变量
export ANDROID_SDK= sdk path
export ANDROID_NDK= ndk path
1、下载和解压NDK
sudo su -
输入管理员密码
会自动切换到 root目录下 我想下载到 opt/ndk目录下
cd /opt/ndk
wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin
最新的ndk地址
dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip
dl.google.com/android/repository/android-ndk-r11b-linux-x86_64.zip
等待下载完毕即可
解压
chmod a+x android-ndk-r10e-linux-x86_64.bin
./android-ndk-r10e-linux-x86_64.bin
解压 zip:unzip FileName.zip
等待解压完毕
opt/ndk/android-ndk-r10e
2、解压SDK
接着上面的操作
把下载完成的sdk解压到 opt/sdk目录下
cd
cd opt/sdk
tar zxvf android-sdk_r24.4.1-linux.tgz
等待解压完毕
opt/sdk/android-sdk-linux
3、配置sdk和ndk的
gedit /etc/profile 打开profile文件
配置环境变量
或者
在ubuntu环境下,进入home/xxx/
xxx代表你的名字,进入目录后按Ctrl+H就可以看到隐藏的文件,你就可以看到:
.bashrc 文件,这里可以配置类似windows下的path环境变量
如果下面编译的时候还是提示NDK路径有问题 那么我们可以直接在终端中
export ANDROID_NDK=/opt/ndk/android-ndk-r12b
这样当然只在此次终端开启时有效
开始编译
1.下载项目到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.6.2
2.执行初始化操作
dpkg-reconfigure dash //在弹出提示框选择“否”
./init-android.sh
3.编译ffmpeg
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all 编译ffmpeg这个等待的时间比较长,耐心等待
4.开始编译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文件
编译成功后将目录下android/ijkplayer项目导入Android Studio即可运行
友情提示
可能出现的问题大部分都是因为环境变量导致,建议仔细检查环境变量
编译环境
Ubuntu VmWare 虚拟机,安装ubantu
ubantu的安装方法
安装完毕之后 需要安装VMware Tools 工具,让虚拟机和主机之间实现交互操作
安装VMware Tools
NDKr10e 本来用10d的发现不能用,提示只能用10e或者更新的版本 64位
Android SDK 24 百度一下找到下载即可 需要linux版本的64位
sudo nautilus以ROOT方式打开文件夹
编译前准备
SDK比较好找,但是发现NDKr10e的很不好找,ndk官网又被墙了,发现可以使用ubantu的命令模式下载,
如果想要下载到指定目录:
为了方便后面的各种操作,需要先获取管理员权限 root权限
在安装其它的必备条件
sudo apt-get update
1.安装Git 命令:$ sudo apt-get install git
2.安装yasm 命令:$ sudo apt-get install yasm
3.配置环境变量
命令:$sudo gedit ~./bashrc
添加以下两个环境变量
export ANDROID_SDK= sdk path
export ANDROID_NDK= ndk path
1、下载和解压NDK
sudo su -
输入管理员密码
会自动切换到 root目录下 我想下载到 opt/ndk目录下
cd /opt/ndk
wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin
最新的ndk地址
dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip
dl.google.com/android/repository/android-ndk-r11b-linux-x86_64.zip
等待下载完毕即可
解压
chmod a+x android-ndk-r10e-linux-x86_64.bin
./android-ndk-r10e-linux-x86_64.bin
解压 zip:unzip FileName.zip
等待解压完毕
opt/ndk/android-ndk-r10e
2、解压SDK
接着上面的操作
把下载完成的sdk解压到 opt/sdk目录下
cd
cd opt/sdk
tar zxvf android-sdk_r24.4.1-linux.tgz
等待解压完毕
opt/sdk/android-sdk-linux
3、配置sdk和ndk的
gedit /etc/profile 打开profile文件
配置环境变量
或者
在ubuntu环境下,进入home/xxx/
xxx代表你的名字,进入目录后按Ctrl+H就可以看到隐藏的文件,你就可以看到:
.bashrc 文件,这里可以配置类似windows下的path环境变量
export ANDROID_SDK=/opt/sdk/android-sdk-linux export ANDROID_NDK=/opt/ndk/android-ndk-r10d PATH=${PATH}:${ANDROID_NDK}:${ANDROID_SDK}
如果下面编译的时候还是提示NDK路径有问题 那么我们可以直接在终端中
export ANDROID_NDK=/opt/ndk/android-ndk-r12b
这样当然只在此次终端开启时有效
开始编译
1.下载项目到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.6.2
2.执行初始化操作
dpkg-reconfigure dash //在弹出提示框选择“否”
./init-android.sh
3.编译ffmpeg
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all 编译ffmpeg这个等待的时间比较长,耐心等待
4.开始编译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文件
编译成功后将目录下android/ijkplayer项目导入Android Studio即可运行
友情提示
可能出现的问题大部分都是因为环境变量导致,建议仔细检查环境变量
相关文章推荐
- 编译ijkplayer-android
- Ubuntu下编译最新的ijkplayer(Android)及其常见的错误解决方案
- android编译ijkplayer
- 在ubuntu下编译ijkplayer-android的方法
- windows下用cygwin编译android版ijkplayer
- Android开发小记:编译ijkplayer以支持更多视频格式
- Android 关于编译ijkplayer下的so经验分享
- ijkplayer编译脚本分析(一)——init-android.sh
- 在ubuntu下编译ijkplayer-android
- Android编译IJKPlayer
- Android开发-直播视讯(4)-Ubuntu编译ijkplayer的so文件-基础知识
- 编译ijkplayer-android源码
- windows下用cygwin编译android版ijkplayer
- ijkplayer在android下的编译
- 编译Android版ijkplayer
- android平台通过ndk给ijkplayer的ffmpeg编译libx264
- 编译ijkplayer-android源码
- Android,ijkplayer增加https协议支持,编译运行ijkplayer
- 在ubuntu下编译ijkplayer-android
- Android边缓冲边播放视频(ijkplayer的编译和使用)