1.安装并配置开发Android所需的各种工具软件
这里需要注意的是,需要安装android4.0及以上的一个SDK包,vlc-android(0.0.5)编译时需要4.0的界面元素。
另外需要安装NDK,当然为了在Eclipse中开发C/C++,还可以安装CDT。
2.安装VLC编译所需要的各种工具
apt-get install ant(此需要1.8及以上版本), apt-get install cmake 等,可以在编译过程中遇到没有的工具,根据具体需要进行安装。
3.下载vlc-android源代码
git clone git://git.videolan.org/vlc-ports/android.git
4.编译vlc-android
cd android sh compile.sh在编译过程中会下载各种vlc-android需要的依赖包,此过程较漫长,每次如果遇到下载失败,可以重新执行该命令。
附:编译过程中可能遇到的问题
1.checking host system type... Invalid configuration `arm-linux-androideabi': system `androideabi' not recognized
configure: error: /bin/bash autotools/config.sub arm-linux-androideabi failed
解决办法:到http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree下载最新的包并解压得到config.guess和config.sub两个文件,将此两个文件拷贝到/usr/share/misc目录下覆盖,重新执行编译命令。
jni/libvlcjni.c:797:57: error: 'libvlc_media_track_info_t' has no member named 'psz_language'
jni/libvlcjni.c:803:69: error: 'struct <anonymous>' has no member named 'f_frame_rate'
解决办法:找到文件android/vlc-android/jni/libvlcjni.c,并将该两行注释掉即可,然后重新执行编译命令。
解决办法:这里根据自己所安装的SDK包进行更改android/vlc-android/project.properties, android/java-libs/SlidingMenu/project.properties, android/java-libs/ActionBarSherlock/project.properties文件中的android-x,但是对于vlc-android0.0.5版本的一定是4.0及以上版本(因为0.0.5版本的界面需要4.0及以上的特性)所以这里一定是14及以上,否则还会报错error: Error retrieving parent for item: No resource found that matches the given name'android:Widget.Holo.ActionBar'.
编译时只是这里需要4.0这个包的界面特性,但是不影响最终生成的APK的运行目标(只要不调用4.0及以上的API),比如我这里在AndroidManifest.xml中可以设置
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10" />,重新执行编译命令。
4. 导入Eclipse时注意除了vlc-android工程外还需要导入另外两个依赖的工程即android/java-libs目录下的SlidingMenu和ActionBarSherlock两个工程,否者会报错。