在Eclipse下导入vlc-android并编译
在Ubuntu14.04下载好了VLC的源代码后,VLC的Eclipseproject存放在"vlc-android"文件夹
root@dzt-VirtualBox:/home/dzt/android_vlc/android# ls
android-headers-gingerbread compile.sh find_modules.sh NEWS
android-headers-hc configure.sh gcc rename_package.sh
android-headers-ics COPYING gen-env.sh vlc
android-libs dump-libs.sh java-libs vlc-android
assets env.sh Makefile
依据官网的提示
Package in Eclipse [optional]
In Eclipse, create a new Android Project from existing source by importing from the vlc-android path.
Import the three projects from the java-libs folder.
Export unsigned/signed apk.
Note: Building against JDK6 is recommended for optimal compatibility (Set Java Compiler Compliance to 1.6).
在Windows的Eclipse下导入vlc-androidproject
还要导入java-libs文件夹下的几个project
root@dzt-VirtualBox:/home/dzt/android_vlc/android/java-libs# ls -l
总用量 12
drwxrwxrwx 5 root root 4096 7月 21 15:59 appcompat
drwxrwxrwx 5 root root 4096 7月 21 15:59 SlidingMenu
drwxrwxrwx 5 root root 4096 7月 21 15:59 WheelView
官网推荐我们使用JDK6
vlc-androidproject导入Eclipse后的文件夹结构例如以下
因为project.properties文件关联了三个工程
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "ant.properties", and override values to adapt the script to your
# project structure. # Project target.
target=android-19
android.library.reference.3=../SlidingMenu
android.library.reference.1=../appcompat
android.library.reference.2=../WheelView
所以也要把appcompat 、SlidingMenu 、WheelView这三个project导入,我的project都存放在同一文件夹下
这里仅仅以WheelView为例
1.
2.
3.
导入后的WheelViewproject
在VLCproject右键
这时再对VCLprojectClean
相应的APK就生成了
执行后的效果图
相关VLC源代码下载:http://download.csdn.net/detail/deng0zhaotai/7661753
这个project编译出来的apk仅仅适合执行的ARM系列的处理器上,其他MIPS、X86的须要生成不同的库才行
在安装时碰到一个问题,记录下
01-01 04:04:44.050 V/VLC/LibVLC( 1724): Initializing LibVLC
01-01 04:04:44.050 E/VLC/LibVLC/Util( 1724): WARNING: Unable to read libvlcjni.so; cannot check device ABI!
01-01 04:04:44.050 E/VLC/LibVLC/Util( 1724): WARNING: Cannot guarantee correct ABI for this build (may crash)!
01-01 04:04:44.050 W/dalvikvm( 1724): JNI WARNING: JNI method called with exception pending
01-01 04:04:44.050 W/dalvikvm( 1724): in Lorg/videolan/libvlc/LibVLC;.nativeInit:()V (GetMethodID)
01-01 04:04:44.050 W/dalvikvm( 1724): Pending exception is:
01-01 04:04:44.050 I/dalvikvm( 1724): java.lang.NullPointerException:
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.libvlc.LibVLC.getDeblocking(LibVLC.java:301)
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.libvlc.LibVLC.nativeInit(Native Method)
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.libvlc.LibVLC.init(LibVLC.java:384)
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.vlc.util.VLCInstance.getLibVlcInstance(VLCInstance.java:47)
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.vlc.gui.MainActivity.onCreate(MainActivity.java:171)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.Activity.performCreate(Activity.java:4465)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.os.Handler.dispatchMessage(Handler.java:99)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.os.Looper.loop(Looper.java:137)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-01 04:04:44.050 I/dalvikvm( 1724): at java.lang.reflect.Method.invokeNative(Native Method)
01-01 04:04:44.050 I/dalvikvm( 1724): at java.lang.reflect.Method.invoke(Method.java:511)
01-01 04:04:44.050 I/dalvikvm( 1724): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-01 04:04:44.050 I/dalvikvm( 1724): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-01 04:04:44.050 I/dalvikvm( 1724): at dalvik.system.NativeStart.main(Native Method)
01-01 04:04:44.050 I/dalvikvm( 1724): "main" prio=5 tid=1 NATIVE
01-01 04:04:44.050 I/dalvikvm( 1724): | group="main" sCount=0 dsCount=0 obj=0x40c41460 self=0x6d8e0
01-01 04:04:44.050 I/dalvikvm( 1724): | sysTid=1724 nice=0 sched=0/0 cgrp=[no-cpu-subsys] handle=1074222084
01-01 04:04:44.050 I/dalvikvm( 1724): | schedstat=( 0 0 0 ) utm=7 stm=11 core=0
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.libvlc.LibVLC.nativeInit(Native Method)
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.libvlc.LibVLC.init(LibVLC.java:384)
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.vlc.util.VLCInstance.getLibVlcInstance(VLCInstance.java:47)
01-01 04:04:44.050 I/dalvikvm( 1724): at org.videolan.vlc.gui.MainActivity.onCreate(MainActivity.java:171)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.Activity.performCreate(Activity.java:4465)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.os.Handler.dispatchMessage(Handler.java:99)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.os.Looper.loop(Looper.java:137)
01-01 04:04:44.050 I/dalvikvm( 1724): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-01 04:04:44.050 I/dalvikvm( 1724): at java.lang.reflect.Method.invokeNative(Native Method)
01-01 04:04:44.050 I/dalvikvm( 1724): at java.lang.reflect.Method.invoke(Method.java:511)
01-01 04:04:44.050 I/dalvikvm( 1724): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-01 04:04:44.050 I/dalvikvm( 1724): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-01 04:04:44.050 I/dalvikvm( 1724): at dalvik.system.NativeStart.main(Native Method)
01-01 04:04:44.050 I/dalvikvm( 1724):
01-01 04:04:44.050 E/dalvikvm( 1724): VM aborting
01-01 04:04:44.050 F/libc ( 1724): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)
01-01 04:04:44.050 I/dalvikvm( 1724): Wrote stack traces to '/data/anr/traces.txt'
我是在终端上用命令
sh-4.2# cp mnt/card/VLC.apk /system/app/
报了以上错误,后来查看了:/data/data/org.videolan.vlc/lib 文件夹,发现是空的,后来才使用下面命令安装就能够了
sh-4.2# pm install -r /mnt/card/VLC.apk /system/app/
pkg: /mnt/card/VLC.apk
ver: /system/app/
Success
在Eclipse下导入vlc-android并编译的更多相关文章
- 【转】vlc android 代码编译
转自:http://blog.csdn.net/asircao/article/details/7734201 系统:ubuntu12.04代码:git://git.videolan.org/vlc- ...
- 将Eclipse代码导入到Android Studio的两种方式
转: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0104/2259.html 说到使用Android Studio,除了新建 ...
- Eclipse项目导入到Android Studio中
背景 最近需要将Eclipse中的android项目导入到Android Studio中!倒腾一番,记录如下! 步骤1 打开Android Studio(下文称AS),选择Import project ...
- (转)eclipse项目导入到android studio中
原文:http://www.cnblogs.com/lao-liang/p/5016541.html?utm_source=tuicool&utm_medium=referral Androi ...
- 【Android Studio安装部署系列】三十四、将Eclipse项目导入到Android Studio中
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 我采用的是笨方法:新创建Android Studio项目,然后将Eclipse项目中的目录一一复制到Android Studio项目 ...
- eclipse下导入jdk源码
一直想好好看看jdk的源码,虽然可以直接解压jdk下的src看,但是终究不方便!后来发现可以导入到eclipse中,就在网上找了一些方法,下面就和大家分共享: step1:打开eclipse选择Win ...
- 如何把Eclipse工程导入到Android Studio
1 在Eclipse中新建android项目androiddemo.里面只有一个MainActivity,主要是使用fastjson将一个Person对象转化成字符串. 2 在项目上点击右键-&g ...
- 【转】Eclipse下导入外部jar包的3种方式
我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式. 1.最常用的普通 ...
- Eclipse下导入外部jar包的3种方式 (zhuan)
http://blog.csdn.net/mazhaojuan/article/details/21403717 ******************************************* ...
随机推荐
- GitLab一键式安装bitnami
https://bitnami.com/stack/gitlab/installer https://bitnami.com/redirect/to/96764/bitnami-gitlab-8.5. ...
- HDU 3715 Go Deeper(2-sat)
HDU 3715 Go Deeper 题目链接 题意:依据题意那个函数,构造x数组.问最大能递归层数 思路:转化为2-sat问题,因为x仅仅能是0.1,c仅仅能是0,1.2那么问题就好办了,对于0, ...
- Java设计模式菜鸟系列(十四)代理模式建模与实现
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39856435 代理模式(Proxy):代理模式事实上就是多一个代理类出来,替原对象进行一些 ...
- mac提升yosemite后php 扩展修复
mac升级之后 php 正积极提升自己,导致php环境破坏 所以 例如有以下几点需要修复 1. sudo ln -s /Applications/Xcode.app/Contents/Develope ...
- crm2011i创建nt类型字段
using System; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Messages; using Microsoft ...
- MemoryBarrier,Volatile
使用MemoryBarrier,Volatile进行同步 上一节介绍了使用信号量进行同步,本节主要介绍一些非阻塞同步的方法.本节主要介绍MemoryBarrier,volatile,Interlock ...
- js便签笔记(13)——jsonp事实上非常easy【ajax跨域请求】
前两天被问到ajax跨域怎样解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来.抱着有问题必须解决的态度,我看了很多资料,原来如此.. . 为何一直知道jsonp,但一直迷迷糊糊的不明 ...
- JS列
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU2h1aVRpYW5OYWlMdW8=/font/5a6L5L2T/fontsize/400/fill/I0 ...
- poj 1456 Supermarket(并查集维护区间)
题意:有一些货物,每一个货物有价值和卖出的截至日期,每天能够卖一个货物,问能卖出的最大价值是多少. 思路:算法不难想到,按价值降序排列.对于每一件货物,从deadline那天開始考虑.假设哪天空 ...
- HDU 2414 Chessboard Dance (力模拟)
主题链接:HDU 2414 Chessboard Dance 意甲冠军:鉴于地图,>,<,^,v的方向,字母相当于是箱子,箱子能够推出边界.人保证不会做出边界.以下输入指令,依照指令走,输 ...