Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4080613
  • 博文数量: 366
  • 博客积分: 9916
  • 博客等级: 中将
  • 技术积分: 7195
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-29 23:27
个人简介

简单!

文章分类

全部博文(366)

文章存档

2013年(51)

2012年(269)

2011年(46)

分类: 嵌入式

2012-09-21 17:44:09

一、准备工作

       安装所有必需的软件
       # apt-get install  apache-ant(or ant)  autoconf automake autopoint  libtool  gawk (or nawk)  gcc  g++  pkg-config  cmake  patch subversion git
       Ant工具在最后编译android源码生成apk文件会用到,所以需要安装。如果手动安装了ant,需要在环境变量中配置好ant的 path,或者在进行编译之前在命令行执行export PATH=$PATH:/xxx/ant/bin,保证可以在执行编译的命令行中执行ant命令即可。
       除了以上软件/工具之外,还有两个必须的工具,就是Android的SDK和NDK。SDK和NDK的安装方法就不再详述了,网上有很多安装方法的文章。


二、环境变量配置

配置ANDROID_SDK
# export ANDROID_SDK=/path/to/android-sdk(请把path改为自己的路径)

配置ANDROID_NDK
# export ANDROID_NDK=/path/to/android-ndk

配置PATH变量
# export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

配置NEON相关信息(一般编译的时候,会编译NO_NEON和支持NEON两种包出来)
# export NO_NEON=1
       如果设备不支持NEON技术,请务必配置此项;如果机器支持NEON技术,可以不用配置此项。关于NEON的简单信息:根据维基百科英文版ARM架构 中的介绍,Cortex-A8架构的设备,均支持NEON技术,而在Cortex-A9架构的设备中,则是可选的。更多信息,请参考:,

配置ABI
# export ANDROID_ABI=armeabi-v7a


三、获取源码

# git clone git://git.videolan.org/vlc-ports/android.git

四、编译源码

       下载完成后,进入android文件夹执行sh compile.sh,开始自动编译。
       如果编译过程中遇到错误checking host system type… Invalid configuration `arm-linux-androideabi’: system `androideabi’ not recognized,请在编译之前执行以下操作:
       1.到下载最新的config.guess和config.sub文件;
       2.将下载的文件拷贝到/usr/share/misc目录下;
       3.重新启动编译(sh compile.sh)。

       如果编译过程中出现其它错误,请根据错误提示安装对应的工具(或者在执行编译之前就把第一步提到的工具全部安装好),部分错误也可参考 这里

       最后提示BUILD SUCESSFUL,说明编译成功了,在android/vlc-android/bin目录下会生成一个apk文件,可以直接拿来安装。如果想自己调整界面部分,或者添加、修改其它功能,可以直接把项目导入eclipse进行开发。



                                                                                                                                                                                         参考

阅读(14812) | 评论(11) | 转发(0) |
给主人留下些什么吧!~~

txgc_wm2012-10-23 16:42:23

csj561: 我的编译环境是Ubuntu 12.04,SDK 是android-sdk_r20.0.3,NDK 是 android-ndk-r8b。Android-vlc也是最新的,昨天git下来的。完整的错误代码是这样的

SharedLi.....
这些库都是android-vlc里的,新git的code可能也有问题。之前的版本你有编译过吗?

csj5612012-10-23 13:53:17

txgc_wm: vlc的库文件已经编译成功,接下来是链接各个库文件。从你的错误看是没有找到lopus库文件。可以尝试:1、更新你的sdk;2、或者更换交叉编译器(你这里使用的是4......
我的编译环境是Ubuntu 12.04,SDK 是android-sdk_r20.0.3,NDK 是 android-ndk-r8b。Android-vlc也是最新的,昨天git下来的。完整的错误代码是这样的

SharedLibrary  : libvlcjni.so
/home/sa3/android/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld:

txgc_wm2012-10-23 09:59:37

csj561: Compile thumb  : vlcjni <= wmemmove.c
Compile thumb  : vlcjni <= wmemset.c
SharedLibrary  : libvlcjni.so
。。。。。
/home/sa3/android/android-n.....
vlc的库文件已经编译成功,接下来是链接各个库文件。从你的错误看是没有找到lopus库文件。可以尝试:1、更新你的sdk;2、或者更换交叉编译器(你这里使用的是4.6的,我使用的是4.4.3的),这个可能解决问题的可能性比较的小。
你所使用的android-vlc是最新的吗?

csj5612012-10-22 18:34:04

Compile thumb  : vlcjni <= wmemmove.c
Compile thumb  : vlcjni <= wmemset.c
SharedLibrary  : libvlcjni.so
。。。。。
/home/sa3/android/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: cannot find -lopus
collect2: ld returned 1 exit status
make[1]: *** [obj/local/armeabi-v7a/libvlcjni.so] Error 1
make[1]:

txgc_wm2012-09-21 18:05:50

以下文章讲述的不错:http://blog.csdn.net/asircao/article/details/7734201
                                        http://www.tidroid.com/article_110.html

网络上可测试流地址:回复 | 举报