1. libmpeg2 下載源錯誤, 必須修改$(vlc-setup)/vlc/contrib/src/libmpeg2/rules.mak, 內容以下: linux
#$(vlc-setup)/vlc/contrib/src/libmpeg2/rules.mak LIBMPEG2_VERSION = 0.5.1 #src: #LIBMPEG2_URL := http://libmpeg2.sourceforge.net/files/libmpeg2-$(LIBMPEG2_VERSION).tar.gz #mod: LIBMPEG2_URL := ftp://mirror.ovh.net/gentoo-distfiles/distfiles/libmpeg2-0.5.1.tar.gz
P.S. vlc目錄是經過git命令下載的,見compile.sh android
2. 若出現該錯誤內容:android-sdk-linux/tools/ant/build.xml:539: Unable to resolve project target 'android-17',則必須更新SDK,命令以下:
git
android update sdk
3. 若是是在Ubuntu-64bit + Android-NDK(64bit)下編譯,則在編譯vlc/contrib/android/a52dec等模塊時,會報錯:arm-linux-androideabi not found。必須修改compile.sh: Ln77,內容以下: shell
# $(vlc-setup)/compile.sh #src: #NDK_TOOLCHAIN_PATH=${ANDROID_NDK}/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/`uname|tr A-Z a-z`-x86/bin #mod NDK_TOOLCHAIN_PATH=${ANDROID_NDK}/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/`uname|tr A-Z a-z`-`uname -m|tr A-Z a-z`/bin #or #NDK_TOOLCHAIN_PATH=${ANDROID_NDK}/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/`uname|tr A-Z a-z`-x86_64/bin
4. 值得注意的是, Android的多媒體框架是採用的OpenMAX標準, 並經過IPC來實現的. 而VLC-Android默認是採用Android多媒體框架的實現方式. 除此以外, 也支持直接調用Android-OMX動態庫的實現方式. 就兼容性而言, 前者明顯要好於後者, 而實際播放速度來講, 正好相反..
其中, VLC-Android經過編譯宏(-DUSE_IOMX)來指定具體實現的版本, 詳見$(vlc-setup)/vlc/modules/codec/omxil/Modules.am. 所以, 編譯調用Android-OMX動態庫的版本, 必須禁用-DUSE_IOMX. (用按此編譯出來的版本, 在GoogleNexus的機器上, 播放1080p的高清影片, 播放速度基本流暢, 而基於Android多媒體框架的版本, 則相對比較吃力). 框架