写这个还是主要还是为了对自己近期的工作做一些总结,希望可以把自己对vlc理解都总结下来。
1)准备编译环境
下载ndk和sdk,设置环境变量
export ANDROID_SDK=/path/to/android-sdk
Set $ANDROID_NDK to point to your Android NDK directory
export ANDROID_NDK=/path/to/android-ndk
Add some useful binaries to your $PATH
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
You need to export the ABI for your device. armeabi-v7a
is for devices with ARMv7 or above (regardless of NEON),
any other ARM device uses armeabi
, x86/Intel devices use x86
.
export ANDROID_ABI=armeabi-v7a
or
export ANDROID_ABI=armeabi
2)下载源码
vlc下载过程中,有些模块国内无法下载。我是通过vpn直接下的。
git clone git://git.videolan.org/vlc-ports/android.git
3)切换tag
切换到tag ,确保代码可用,我这边是切到0.9.9。
cd android
git checkout "0.9.9"
4) 编译
Read compile.sh first, as it contains some very useful and important information. Then run it:
sh compile.sh
Note: At this point, you will get an autogenerated debug apk in the bin/ folder, signed with a debug key.
In order to build a non-debug package:
sh compile.sh release
到这里,大概的下载和编译过程就讲完了。
vlc的编译是比较简单的。主要的复杂是在配置环境,主要问题还是很多模块需要通过VPN下载,包括android 的sdk和ndk,还有vlc中的一些编译模块。
后续会再加上对vlc内部的分析。