主要是记录了在ubuntu下编译最新vlc for android 的一些坑,这块的资料比较少,遇到的很多问题都是没有找到答案,通过阅读脚本解决的
这里是vlc android 编译的向导 https://wiki.videolan.org/AndroidCompile
按照他的步骤先安装必要的软件和配置环境
比较要注意的是sdk和ndk的配置,特别是ndk是有要求的r18,需要去android官网下载然后将ndk路径指向它
还要注意的一点最好科学上网,因为他要去向官网下载很多依赖包,Ubuntu下怎么使用科学上网,也有很多教程,这里可以顺便的提一下,我使用的Ubuntu版本是16.0.4LTS
还要说一下的一点就是 如果是用Ubuntu的磁盘一定要做40G以上,不然会遇到容量问题,到时候再扩容就有点蛋疼了,如果是虚拟机的话还好。
问题一:error: RPC failed; curl 18 transfer closed with outstanding read data remaining
这个是下载ffmpeg这个依赖包的时候遇到的,试了很多次都卡在了34%就报这个错误,也试了加大git的缓存区什么了都不管用
解决方式就是手动把包下载下来放这个目录下面,有的包还要构造一个.githash文件,可以仿造其它包做一个,也很简单,包下载的地址是http://downloads.videolan.org/pub/contrib/ 下载你所需要的包,依赖包的问题就能解决了
问题二:error: use of undeclared identifier ‘libvlc_MediaPlayerRecordChanged’
这个问题主要是master上的代码并不是最新的,解决方案是先提交补丁 再修改compile.sh文件
补丁文件的地址在 libvlc/patches/vlc3 把这里的补丁文件复制到 vlc 目录下然后执行 git am *.patch
接着修改编译脚本 compile.sh , 找到如下位置 删除框中的代码
然后再执行编译命令,接着就成功了,这里是列出了我所遇到的问题,希望能帮你们少走弯路,前面也是被折磨得够呛。
下面是编译好的armeabi-v7a平台的包
链接:https://pan.baidu.com/s/11qkJq-saJQCtiGa2Ju-5Iw
提取码:pxzh