Ubuntu16.04 编译ijkplayer so,并导入android,运行官方demo
来源:互联网 发布:最游记漫画软件 编辑:程序博客网 时间:2024/05/08 13:45
编译ijkplayer so,并导入android
注(本文是参照其他博客,自己动手,中间有很多坑,后面会贴出参考过的博客地址)
环境: win10(8g,64位),virtua box(5.1.14).exe(安装在c盘,c盘大小500g),Ubuntu16.04 .iso
Ubuntu16.04 .iso 安装参考:http://www.linuxidc.com/Linux/2015-08/121807.htm
注意点:我的配置参数
内存3g,
存储100g(50g也可以),(主要/home目录,要下载ijkplayer源码,sdk,ndk)
安装中下载更新勾上,
将100g分区(/boot 20g,/ 30g,/home 30g ,/swap 10g)
内存,和存储越大系统安装速度越快,出现的问题也少
开始编译过程
1.下载sdk和ndk
火狐游览器下载的文件在/home/下载中
sdk下载最新的就好
ndk只能用r10e.bin(撸主下的r13b,r12b都用不了)
下载好的文件sdk解压到/home目录下
下载好的r10e.bin的文件也放在/home下
2.安装r10e.bin(文件名)
打开终端:ctrl+alt+t
输入命令: ls (可以看到下载的r10e.bin)
再输入
sudo chmod u+x r10e.bin
按回车,提示输入密码,输入登录密码,回车;此行给文件执行权限
然后
sudo ./r10e.bin
就可以开始安装了
(安装有点慢)
3.配置sdk和ndk路径
在Home下,ctrl+h可以看到./bashrc文件,双击打开
lianwt——我的用户名在创建用户时的
验证路径是否正确—>进入终端–>cd /home/lianwt 能看到这两个文件夹就配置正确了
ANDROID_NDK=/home/lianwt/android-ndk-r10e
export ANDROID_NDK
PATH=PATH: {ANDROID_NDK}
ANDROID_SDK=/home/lianwt/android-sdk-linux
export ANDROID_SDK
PATH=PATH: {ANDROID_SDK}
4.开始编译阶段
参考资料:http://www.linuxdiyf.com/linux/22188.html
进入终端
1.安装git 命令:$ sudo apt-get install git
2.安装yasm 命令:$ sudo apt-get install yasm
开始编译
1.下载项目到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.5.1
2.执行初始化操作
./init-android.sh
3.编译ffmpeg
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all –>可能出现export bad name错误(解决)–>
ubuntu 16.04 的 shell 默认是 dash,这里我们必须改为 bash,否则执行编译脚本时会有很多莫名其妙的问题:
sudo dpkg-reconfigure dash
它会问你是否使用 dash 作为系统缺省 shell,在这里当然是选 <否>/No*
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文件
运转
baidu了半天没能找到ubuntu和win10互传文件的方法,方法都试过了没用,自己又是小白没办法,用了邮箱
win10
转运到win10后,直接导入工程各种问题,解决一个又一个,大部分都是版本和环境问题的问题,有些下载非常慢
解决
去githup 下载ijkplayer android源码
将转运过来的源码里的ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64的五个文件夹,复制替换掉githup 下载ijkplayer android源码的相同目录下的文件夹,再导入到as(版本2.2.3)中,没毛病
运行官方demo
recent->点击条目
一句代码集成凤凰视频直播–Fragment–RecentMediaListFragment–onActivityCreated–public void onItemClick–
VideoActivity.intentTo(activity, “http://zv.3gv.ifeng.com/live/zhongwen800k.m3u8“, name)
recent->点击条目
- Ubuntu16.04 编译ijkplayer so,并导入android,运行官方demo
- Ubuntu16.04编译tensorflow官方Android demo
- [IJKPLAYER]编译与DEMO运行
- ijkplayer在windows下编译并导入Android Studio
- 将ijkplayer导入android studio并运行(附导入工程和导入module的方法)
- ijkplayer编译.so
- Android,ijkplayer增加https协议支持,编译运行ijkplayer
- ijkplayer 编译so库过程
- FFMPEG编译并运行Demo
- 【深度学习】用CPU运行faster-RCNN 的官方demo(基于ubuntu16.04系统)
- android studio 导入 Launcher2 模块,并编译运行
- Ubuntu16.04编译运行geekOS
- android-ijkplayer编译记录
- 编译ijkplayer-android
- Android编译IJKPlayer
- android ijkplayer编译
- 编译ijkplayer-android源码
- 编译ijkplayer-android源码
- codeforces 765E dfs
- 测试菜鸟手记---01 关于Fiddler的简单使用
- 169. Majority Element | 数组中的主元素
- 零基础读懂视频播放器控制原理——ffplay播放器源代码分析
- git fetch
- Ubuntu16.04 编译ijkplayer so,并导入android,运行官方demo
- 在IIS上搭建FTP服务
- 哪里有类!
- 完整的表单结构form
- 解决mysql java.sql.SQLException: The server time zone value‘XXXXXX' is unrecognized or represents...
- 浅谈软件项目实施
- Linux下调用fork或system启动子进程的信号和资源释放相关问题
- linux day08笔记
- leecode 解题总结:119. Pascal's Triangle II