[1]参考网上其他文章,编译android vlc 大概步骤如下:
0.环境安装:
安装jdk,ant,eclipse
安装Android SDK,NDK
1.下载项目
git clone git://git.videolan.org/vlc-ports/android.git
2.下载完了以后,会有一个android的目录,cd进去,设置环境变量:
export ANDROID_NDK=/media/d/programfiles/android-ndk-r8b
export ANDROID_SDK=/media/d/programfiles/adt-bundle-linux-x86-20130729/sdk
export ANDROID_ABI=armeabi-v7a
3.开始编译:
sh compile.sh
开始会下载整个VLC的代码,大概有360MB,下载完了,就开始下载编译工具和第三方库,然后会编译第三方库,最后编译vlc(有时候第三方库会下载失败,可以找个代理用浏览器去下,下好了放到对应目录).
[2]编译过程中出现了许多问题,我编译的时候,遇到的问题如下:
1. 编译过程中突然停止了,检查了编译日志,发现zlib没有参与编译,检查相应的vlc/contrib/src/zlib/rules.mak发现zlib没有执行解压,具体是为什么不清楚,最后找到解决办法是:
vi android/vlc/contrib/src/zlib/rules.mak
增加:
.PHONY:zlib
2.SharedLibrary : libvlcjni.so
.././vlc/contrib/arm-linux-androideabi/lib/libpng.a(pngrutil.o): In function `png_inflate_claim':
/media/d/nfs/android_vlc/android/vlc/contrib/android/png/pngrutil.c:397: undefined reference to `inflateReset2'
这个问题原因也不清楚,解决办法是修改android/vlc/contrib/android/png/pngrutil.c的第397行:
ret = inflateReset2(&png_ptr->zstream, window_bits);
==> ret = inflateReset(&png_ptr->zstream);
3./media/d/programfiles/adt-bundle-linux-x86-20130729/sdk/tools/ant/build.xml:543: Unable to resolve project target 'android-19'
解决办法:使用eclipse下载ANDROID-API 19