vlc-android源码的编译

时间:2023-02-02 15:54:25

一、编译前须知

1.参考官方文档:https://wiki.videolan.org/AndroidCompile/

2.必须要在Linux环境下

3.我使用的是ubuntu

二、编译前安装开发工具

1.Linux操作系统,我选择的是在windows下通过virtualbox虚拟机安装ubuntu。

 安装方法:virtualbox中安装ubuntu

2.Linux编译需要的开发工具

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

2)如果是64位ubuntu,为了防止后面少走弯路,需要安装32位的库

    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386

3)SDK安装

     SDK下载注意:最好下载比较新的sdk

    参考我的博客:ubuntu下安装SDK

4)NDK安装

    NDK下载注意:官方的文档可能有点老了,官方说是NDK r10e,但是经过后面编译发现最低要ndk r11c

   下载地址:https://developer.android.com/ndk/downloads/index.html

     如果无法访问google,可以参照 ubuntu安装*访问google,也可以通过国内服务器镜像 http://www.androiddevtools.cn/

     解压并修改相关权限

     unzip android-ndk-r11c-linux-x86-64.zip

    sudo chmod -R 777 android-ndk-r11c

    配置一下环境变量

    sudo gedit /etc/profile
    export PATH=$PATH:/ndk的路径/
    sudo source /etc/profile

三、编译前的环境变量配置

1) sdk  ndk

    export ANDROID_SDK=/你的sdk路径/

    export ANDROID_NDK=/你的ndk路径/

    export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools

2) 设备类型

    注意:这个地方,官网上没有给出说明,如果不设置,编译的时候会提示

    NO ANDROID_ABI,默认使用armeabi-v7a

    ARMv7设备,需要export ANDROID_ABI=armeabi-v7a
    ARMv6设备,需要export ANDROID_ABI=armeabi
    ARMv6设备,不支持FPU的,需要 export ANDROID_ABI=armeabi; export NO_FPU=1

    还有很多,mips  x86,等等

四、下载源码

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

   如果是想下载某个分支版本请去gitLab,   https://code.videolan.org/videolan/vlc-android/branches

五、执行编译

1)确保网络质量很好

2)确保可以访问google,有些东西需要去国外下载,比如build.gradle,update sdk等等

3)进入vlc-android,执行  sh compile.sh, 如果一切顺利就完成了,但是一般问题会很多

六、我遇见的问题

1)中途有很多包无法下载,不知道原因

ibmpeg2-0.5.1.tar.gz、openjpeg-1.5.0.tar.gz等等,我就不一一列举,此时注意看错误报告,会有出现在那个目录下下载按个包失败,比如上面的会在./vlc/contrib/tarballs目录下,那么我们就去手动下载,然后放到此目录就可以了,重新执行   sh compile.sh

2)  ndk版本太低,官网说是ndk-r10e,但是发现后面编译中途报错,说最低需要ndk-r11

3)  automake 报错,官网默认下载的是automake1.14,但是最后有些依赖的东西需要automake1.15

vlc-android源码的编译

vlc-android源码的编译

找到上面那两个目录把出现automake1.14的地方该成1.15然后重新编译

4)我的编译还是蛮顺利的,其他问题很少,如果出现其他问题,请去官网查看troubleshooting

7、成功截图

vlc-android源码的编译