微信号:code_gg_home

介绍:分享技术干货,分享最新新闻动态,分享开心段子,让大家轻松愉快的成长.

vlc for android 完全编译

2017-06-21 19:08 陆晓明


vlc for android 完全编译

环境描述 
ubuntu-12.04 
android ndk r14b 
openjdk 1.8 
sdk

我们参考官网的描述来进行编译,注意 有修改 
https://wiki.videolan.org/AndroidCompile#Get_VLC_Source

第一步,安装程序

sudo apt-get install automake ant autopoint cmake build-essential libtool \ 
patch pkg-config protobuf-compiler ragel subversion unzip git

第二步,设置环境变量

export ANDROID_NDK=/home/user/Downloads/android-ndk-r14b 
export ANDROID_SDK=/home/user/AS/sdk 
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

第三步,抓取代码

git clone https://code.videolan.org/videolan/vlc-android.git

我们创建一个目录vlc, 然后敲入 
git clone https://code.videolan.org/videolan/vlc-android.git 
来抓取代码

下载好了后,进入vlc-android,使用sh compile.sh -a 来进行编译 ,我们使用默认的sh compile.sh 即可。

第一个错误:


修改位置compile.sh 里面的

wget  GRADLEURL2>/dev/null||curlO{GRADLE_URL} 
修改为: 
wget 
GRADLEURL2>/dev/null||curlOk{GRADLE_URL}

下载完了Gradle 3.4.1,继续下载vlc的源码 

继续修改错误:

 
make: * [../../contrib/tarballs/microdns-0.0.6.tar.gz] Error 60 
make: * Deleting file `../../contrib/tarballs/microdns-0.0.6.tar.gz’ 
make: * Waiting for unfinished jobs….

这个原因是由于我们的microdns-0.0.6.tar.gz 是不存在的,因此我们需要改下版本信息 
我们修改 vlc/vlc-android/vlc/contrib/src/microdns 里面的rules.mak ,改 
LIBMICRODNS_VERSION := 0.0.6 
 
LIBMICRODNS_VERSION := 0.0.5

然后继续编译, 出现错误: 

修改 vlc/vlc-android/vlc/contrib/src/microdns 里面的rules.mak ,在 
.sum-microdns: 
(TARBALLS)/microdns(LIBMICRODNS_VERSION).tar.gz 
下一行加入一些空格 
.sum-microdns: 
(TARBALLS)/microdns(LIBMICRODNS_VERSION).tar.gz

然后继续编译 

修改compile-libvlc.sh 文件里面:

wget https://download.videolan.org/pub/contrib/sqlite/${SQLITE_RELEASE}.tar.gz 

wget –no-check-certificate https://download.videolan.org/pub/contrib/sqlite/${SQLITE_RELEASE}.tar.gz

然后继续编译:./compile.sh 2>&1 | tee build.log

编译通过,完成。

如果出现 
../configure:line 9171:syntax error near unexpected token ‘dlopen’ 
../configure line 9171:’LT_INIT(dlopen win32-dll shared disable-static)’

这种错误,其实是libtool有问题,我们可以在vlc/vlc-android/vlc目录下执行autoreconf 来解决此问题即可。


 
代码GG之家 更多文章 android native 代码内存泄露 定位方案 深入Android源码系列(一) google 进入分屏后在横屏模式按home键界面错乱( 四) google 分屏 横屏模式 按home键界面错乱故障分析(三) google 分屏 横屏模式 按home键界面错乱故障分析(二)
猜您喜欢 ceph客户端服务端属性匹配关系 Facebook是如何存储每天20亿张照片的——Cold Storage系统揭秘 一颗来自总理的定心丸 ☂假如文章说今天你们都被愚了,愚人节快乐。。。。同学们会什么反应。 Android项目架构之业务组件化