http://my.oschina.net/erehmii/blog/118748
敬告:
编译前尽量安装/更新必要的软件:vlc-dep, android-sdk, android-ndk
1. libmpeg2 下载源错误, 必须修改$(vlc-setup)/vlc/contrib/src/libmpeg2/rules.mak, 内容如下:
1
2
3
4
5
6
7
8
|
#$(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
2. 若出现该错误内容:android-sdk-linux/tools/ant/build.xml:539: Unable to resolve project target 'android-17',则必须更新SDK,命令如下:
1
|
android update sdk
|
3. 如果是在Ubuntu-64bit + Android-NDK(64bit)下编译,则在编译vlc/contrib/android/a52dec等模块时,会报错:arm-linux-androideabi not found。必须修改compile.sh: Ln77,内容如下:
1
2
3
4
5
6
7
8
9
10
|
# $(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多媒体框架的版本, 则相对比较吃力).
评论6
-
Hi can you help me ,I think it maybe out of date error,
but I am not fimiliar with c programing .
-
楼主大人,知道如何添加字体吗?
-
问一下 如果在安卓上编译成功之后是不是就可以嵌入到自己的项目当中来呀
-
引用来自“聂华明”的评论
问一下 如果在安卓上编译成功之后是不是就可以嵌入到自己的项目当中来呀