ubuntu下编译vlc-android(0.0.5版本)

来源:互联网 发布:淘宝店买卖平台 编辑:程序博客网 时间:2024/05/20 03:41

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 androidsh 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目录下覆盖,重新执行编译命令。


2. jni/libvlcjni.c: In function 'read_track_info_internal':

    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,并将该两行注释掉即可,然后重新执行编译命令。


3. BUILD FAILED
/androidApp/android-sdk-linux/tools/ant/build.xml:569: The following error occurred while executing this line:
/androidApp/android-sdk-linux/tools/ant/build.xml:517: Unable to resolve project target 'android-16'

解决办法:这里根据自己所安装的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目录下的SlidingMenuActionBarSherlock两个工程,否者会报错。


参考文献:http://wiki.videolan.org/AndroidCompile