阅读:2982回复:0
ubuntu 编译VLC-android
VLC: 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件
在android的rtsp直播应用较为广泛 不多废话 参考doc: https://wiki.videolan.org/AndroidCompile#Get_VLC_Source 1. clone代码:git clone https://code.videolan.org/videolan/vlc-android.git 2. 编译环境: sudo apt-get install automake ant autopoint cmake build-essential libtool-bin \ patch pkg-config protobuf-compiler ragel subversion unzip git \ openjdk-8-jre openjdk-8-jdk flex python wget 这里表面看clone到的代码很小,只有60多M,但看到automake,cmake就发怵 3. ANDROID_SDK和ANDROID_NDK: 环境变量 android-ndk-r21e-linux-x86_64.zip android-sdk_r24.4.1-linux.tgz NDK只能用r21 4. 根据需要选择编译:buildsystem/compile.sh -a armeabi-v7a 2>&1 | tee vlc_build.log 把log存到本地,方便查看 异常处理: 1. 会从github或https://downloads.videolan.org/pub/contrib下载N多开源的so lib,通常是404,这时候就要查看日志,哪些lib不能下载,手动从github或ideolan下载,放在vlc/contrib/tarballs/目录 2. bluray/src/libbluray/bdj/build.xml:24: Compile failed; see the compiler error output for details. 原因:android使用Open JDK编译,而bluray使用JDK编译! 从oracle下载JDK,定义环境变量: export JAVA_HOME=/home/xxx/tools/jdk1.8.0_291 export JAVA_BIN=$JAVA_HOME/bin export JAVA_LIB=$JAVA_HOME/lib export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar export PATH=$JAVA_BIN:$PATH JAVA_HOME="/home/xxx/tools/jdk1.8.0_291" 然后继续编译 3. 编译环境只用到NDK, SDK, JAVA,所以不要画蛇添足地把AOSP的编译环境加上,不然gcc交叉编译会报错,而且很难定位 |
|