VLC for Android编译

编译环境是ubuntu 64bit

全程参考https://wiki.videolan.org/AndroidCompile/

一:环境准备

1.安装系统

尽量使用最新的ubuntu系统 可以省去很多麻烦

我安装的是Ubuntu Server 16.10 下载地址是http://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/16.10/ubuntu-16.10-server-amd64.iso

安装完之后更改源us.archive.ubuntu.com到cn.archive.ubuntu.com 就是把/etc/apt/source.list里面的链接都替换一下就行了

然后sudo apt-get update

2.安装相应的包

sudo apt-get install subversion unzip git g++ unzip python automake ragel

3.下载NDK SDK

通常都是下载最新版本的NDK 现在用r13b 下载地址https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip

还有SDK,JDK

二:准备VLC for Android代码

1.下载代码

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

这里要注意的是选择一个较好的网络,如果网络有问题git下来的文件很有可能会有问题 导致各种编译问题,这个是最容易出问题的地方,

基本上我每次编译出现的各种问题都是这个引起的

2.编辑compile.sh

因为这个脚本要从VLC的官方网站下载gradle 但是国内下载的话网速应该不行 所以要换一个地址 打开脚本

找到语句GRADLE_URL=https://download.videolan.org/pub/contrib/gradle/gradle-${GRADLE_VERSION}-bin.zip

替换成GRADLE_URL=http://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip

接着下面几行找语句./gradlew -version 注释掉 不然会再次下载

3.运行脚本

我做了一个简单的脚本

#!/bin/bash
#yum -y install yasm

#export ac_cv_func_realloc_0_nonnull=yes
#curDir=$(pwd)
curDir=/home/sdk
ndk=android-ndk-r13b
export ANDROID_PATH=$(pwd)/vlc-android
export NDK=$curDir/sdk/$ndk
export ANDROID_SDK=$curDir/sdk/android-sdk-linux
export ANDROID_NDK=$curDir/sdk/$ndk
export ANDROID_ABI=armeabi-v7a
#export ANDROID_ABI=arm64-v8a
export JAVA_HOME=$curDir/sdk/jdk1.8.0_60
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$ANDROID_SDK:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
echo "------env set ok------"

cd vlc-android
sh $ANDROID_PATH/compile.sh
#sh $ANDROID_PATH/compile-libvlc.sh

开始运行 中途提示差什么包 就安装什么包

三.遇到不能下载的包

在编译VLC的时候 会有很多第三方包  经常下载慢或者根本下载不了 需要手动下载这些包放到

vlc-android/vlc/contrib/tarballs 例如现在libarchive-3.2.2.tar.gz下载不了 脚本里面的下载链接直接返回了404,

这个时候手动下载,通常也很慢,可以通过网页代理来下载 百度搜索网页代理 进入第一个有风和日丽的那个 输入下载地址

http://www.libarchive.org/downloads/libarchive-3.2.2.tar.gz

原文地址:https://www.cnblogs.com/yuandaozhe/p/6528975.html