VLC for Android的编译

本文详细介绍了在Ubuntu 12.10环境下,如何编译VLC for Android,包括必要的软件环境、JDK/NDK/SDK配置、CPU类型设置,以及解决编译过程中遇到的问题。最后,文章展示了成功运行的截图,并提供了相关库和编译脚本的下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 编译环境:

系统:XP SP3

虚拟机:VMware-workstation-full-8.0.0-471780

Linux版本:ubuntu-12.10-desktop-i386

SDK:adt-bundle-linux-x86-20131030

NDK:android-ndk-r9c-linux-x86.tar

JDK:jdk-7u51-linux-i586.tar.gz

建议不要使用Ubuntu10系列的。换到Ubuntu12.04,但是编译期间会导致关机,后来又换到Ubuntu12.10版本。另外此版本的SDK是Google后来发布的集成了ADT、Eclipse的工具,不需要在Eclipse中额外的配置。


2. 必须的软件环境

    具体的参考:官网编译说明

    apache-ant (or ant), autoconfautomakeautopointcmakegawk (or nawk), gccg++libtoolm4patchpkg-configragel,subversion,git

  执行 

sudo apt-get install XXX
    即可


3. 环境配置(JDK/NDK/SDK)

  具体的环境配置,请参考我的上一篇博文:JDK/NDK/SDK的配置


4. 其他环境变量的配置(CPU类型)

需要配置CPU类型,Android支持的CPU类型包含ARM和X86,所以编译前需要指定CPU类型。

X86系列的

export ANDROID_ABI=x86
ARM的Cortex-A8 or Cortex-A9系列

export ANDROID_ABI=armeabi-v7a
  • ARMv6
export ANDROID_ABI=armeabi
  • ARMv6 不带 FPU
export ANDROID_ABI=armeabi
export NO_FPU=1
  • ARMv5 或者 模拟器
export ANDROID_ABI=armeabi
export NO_ARMV6=1
  • MIPS 系列
export ANDROID_ABI=mips

此处我的配置是

export ANDROID_ABI=armeabi-v7a

5. 获取VLC源码

git clone git://git.videolan.org/vlc-ports/android.git
得到源码后放到'Android-dev/VLC'下的'vlc4android'下,此时的目录并不是包含VLC的源码,而只是它的一个目录结构而已。
在当前目录下执行:
sh compile.sh
此时会下载(1)约210M的源码,然后再下载一些(2)编译所需的包。所有的数据下载完成后,接着会自动编译生成apk和so文件。
需要说明的是,在此过程中⑵中可能由于网络的原因,可能会出现某些包下载不下来,此时有两种解决办法:
(1). 改变软件源。 
(2). 在网上把相应的包下载下来放到'/home/amos/Android-dev/VLC/vlc4android/vlc/contrib/tarballs'目录下
成功后的截图如下


6. 遇到的问题
整个编译过程比较顺利,遇到了两个error:一个是Permission denied: 解决办法sudo chmod -R 777 路径。另外一个Unable to resolve project target 'android-17' 
这是因为,使用的SDK的版本跟编译的版本不一致所致。解决办法就是,修改项目中project.properties和AndroidManifest.xml的版本。


7. 运行
    将java-libs下的三个库工程连同vlc-android目录,导入到Eclipse中。结构如下:


运行的截图如下:




8. 下载

(1). libvlcjni

(2). compile.sh所需的额外的包

(3). vlc-debug.apk




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值