前言
因为需要视频录制和截图,所以编译了一下VLC,做下记录;该版本已经提供了视频录制接口
鸣谢
从零开始,手把手教你如何在Ubuntu下编译VLC-Android源码
时间
2019-05-11
开始
1、准备JDK&配置
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
配置:
1、打开配置文件
sudo gedit ~/.bashrc
2、写入环境变量
//尾部添加
#jdk
export JAVA_HOME=/home/xiaozd/Android/jdk1.8
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_BIN=$JAVA_HOME/bin
3、使环境变量生效
source ~/.bashrc
2、准备SDK
下载地址:http://tools.android-studio.org/index.php/sdk
1、打开配置文件
sudo gedit ~/.bashrc
2、写入环境变量
#sdk
export ANDROID_SDK=/home/xiaozd/Android/Sdk
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
3、使环境变量生效
source ~/.bashrc
3、准备ndk
当前VLC需要r18版本的ndk
下载地址:https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip
1、打开配置文件
sudo gedit ~/.bashrc
2、写入环境变量
#ndk
export ANDROID_NDK=/home/xiaozd/Android/android-ndk-r18b
export PATH=$PATH:$ANDROID_NDK
3、使环境变量生效
source ~/.bashrc
4、安装官方提供所需库
安装所需库:
sudo apt-get install automake ant autopoint cmake build-essential libtool-bin \
patch pkg-config protobuf-compiler ragel subversion unzip git \
flex python wget
5、克隆vlc-android
git clone https://code.videolan.org/videolan/vlc-android.git
6、开始编译
克隆完成后,进入到vlc-android目录
执行:
./compile.sh
完了~
7、我遇到的问题
1、执行./compile.sh需要下载gradle,compile.sh 215行
if [ ! -d "gradle/wrapper" ]; then
diagnostic "Downloading gradle"
GRADLE_VERSION=5.1.1
GRADLE_URL=https://download.videolan.org/pub/contrib/gradle/gradle-${GRADLE_VERSION}-bin.zip
#wget ${GRADLE_URL} 2>/dev/null || curl -O ${GRADLE_URL}
#checkfail "gradle: download failed"
unzip -o gradle-${GRADLE_VERSION}-bin.zip
checkfail "gradle: unzip failed"
./gradle-${GRADLE_VERSION}/bin/gradle wrapper
checkfail "gradle: wrapper failed"
./gradlew -version
checkfail "gradle: wrapper failed"
chmod a+x gradlew
rm -rf gradle-${GRADLE_VERSION}-bin.zip
fi
地址是VLC提供的,但是下载速度非常慢,所以我注释了219、220两行;自己手动下载指定的gradle版本5.1.1-bin,放置到vlc-android目录中,再次执行./compile.sh
2、执行./compile.sh需要下载vlc库,compile.sh 244行
TESTED_HASH=020f737
if [ ! -d "vlc" ]; then
diagnostic "VLC source not found, cloning"
git clone https://git.videolan.org/git/vlc/vlc-3.0.git vlc
checkfail "vlc source: git clone failed"
fi
diagnostic "VLC source found"
cd vlc
if ! git cat-file -e ${TESTED_HASH}; then
cat 1>&2 << EOF
***
*** Error: Your vlc checkout does not contain the latest tested commit: ${TESTED_HASH}
***
EOF
exit 1
fi
git clone https://git.videolan.org/git/vlc/vlc-3.0.git vlc这个非常头疼,文件大,访问速度非常恶心,但是又很无奈,但是我还是下载完了,等下我补上连接,你们可以自行下载后,直接解压后放在vlc-android目录中,且文件夹名称是vlc,只对该次vlc-android版本生效,其他版本vlc-android可能需要再次克隆;下载地址:见8小节;
3、在编译过程中需要下载大量android支持库,建议网络出墙进行编译;很有必要
8、附上下载地址:
vlc仓库代码(git clone https://git.videolan.org/git/vlc/vlc-3.0.git vlc):提取码:acqh
编译aar:提取码:64yr
编译apk:提取码:exyl
完整包(整个vlc-android+vlc+运行时需要库),配置&修改环境变量后直接编译:提取码:p6qw
等下看看怎么实现截图
防止地址失效Q923700243