在Eclipse下导入vlc-android并编译

在Ubuntu14.04下载好了VLC的源码后,VLC的Eclipse工程存放在"vlc-android"目录

[email protected]:/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-android工程

还要导入java-libs目录下的几个工程

[email protected]:/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-android工程导入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这三个工程导入,我的工程都存放在同一目录下

这里只以WheelView为例

1.

2.

3.

导入后的WheelView工程

在VLC工程右键

这时再对VCL工程Clean

对应的APK就生成了

运行后的效果图

相关VLC源码下载:http://download.csdn.net/detail/deng0zhaotai/7661753

这个工程编译出来的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
时间: 2024-08-05 13:35:23

在Eclipse下导入vlc-android并编译的相关文章

eclipse下裁剪vlc android

首先得说明的是,这个裁剪不是本人裁剪的,是在下面这个链接的基础上做的! 参考链接:http://www.cnblogs.com/over140/p/3932784.html 这链接是android studio的工程,我在android studio跑起来过(不过过程非常不顺利,呵呵),而且感觉android studio不好用,所以打算直接用eclipse来弄,首先是测试下自己的库是否能够在上面的链接里面的代码运行起来,替换了上面链接中的库,发现不行,失败了,底层报了native的bug,感觉

将Eclipse代码导入到Android Studio的两种方式

转: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0104/2259.html 说到使用Android Studio,除了新建的项目,我们都会面临的问题是原先Eclipse的代码该怎么导入到Android Studio中使用.这方面相关的资料还比较少,自己摸索了一下,总结出这篇博客,希望能让开发者少走些弯路.OK,进入正题. Google为了让我们更加方便的使用AndroidStudio,提供了两种导入Eclipse代码的

【转】vlc android 代码编译

转自:http://blog.csdn.net/asircao/article/details/7734201 系统:ubuntu12.04代码:git://git.videolan.org/vlc-ports/android.git代码版本:375646994d0602 年初的时候搞了三个月的vlc android.昨天看到vlc android的beta版本发布了,决定编译一个看看效果.把自己此次的编译过程记录下来,供朋友们参考.下文中的文件路径,要替换成正确的路径. 1. 搭建ubuntu

(转发 )将Eclipse代码导入到Android Studio的两种方式

这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 说到使用Android Studio,除了新建的项目,我们都会面临的问题是原先Eclipse的代码该怎么导入到Android Studio中使用.这方面相关的资料还比较少,自己摸索了一下,总结出这篇博客,希望能让开发者少走些弯路.OK,进入正题. Google为了让我们更加方便的使用AndroidStudio,提供了两种导入E

Eclipse项目导入到Android Studio中

背景 最近需要将Eclipse中的android项目导入到Android Studio中!倒腾一番,记录如下! 步骤1 打开Android Studio(下文称AS),选择Import project(Gradle,Eclipse ADT,etc), 定位到你需要导入的主项目,切记是主项目,比如下图XXXX_JX是我的主项目,上面的为我主项目中的依赖项,该项先不管,后继操作! 步骤2 下一步会有如下提示: 英文意思很明显,就是转换后的项目是一个全新的项目,不会改变之前的项目,这里需要给转换后的新

eclipse下导入jdk源码

一直想好好看看jdk的源码,虽然可以直接解压jdk下的src看,但是终究不方便!后来发现可以导入到eclipse中,就在网上找了一些方法,下面就和大家分共享: step1:打开eclipse选择Window->Preference step2:选择Java->Installed JREs step3:选中你所安装的jre,点击Edit,进入Edit JRE,如下所示 step4:选中rt.jar,点击Source Attachment step5:在对话框中,点击External Folder

如何把Eclipse工程导入到Android Studio

1 在Eclipse中新建android项目androiddemo.里面只有一个MainActivity,主要是使用fastjson将一个Person对象转化成字符串. 2 在项目上点击右键->Export. 3 在弹出的Export窗口中选择“Android”下面的Generate Gradle build files.然后点击next. 4 然后一路next,选中我们要导出的工程,继续next. 5 最后会提示将要导出的gradle文件的位置,然后点击finish. 6 打开Android

Eclipse下导入外部jar包的3种方式

我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式. 1.最常用的普通操作方式:基本步骤式 右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Build Path,如下图所示:选择Add External JARs,就可以逐个(也可以选择多个jar,但是限制在同一个文件夹中)添加第三方引用jar包. 上面这种方式的操作具有通用性,但是每次创建项

eclipse下如何查看Android源码

1.查看安卓源代码: (1)首先要先下载安装源代码,网上有很多地方都可以下,百度“安卓源代码下载就行了”,这里要注意版本,比如我这里用的是4.0.3的版本,对应的是android-15.就是在项目中使用的安装版本如果是4.0.3的话,就应该下载android-15的源码. (2)在sdk下新建一个sources文件夹(有的话就不用创建了),然后版下载的android-15源码放在sources文件下.比如这是我的文件放置位置: (3)右击项目,选择BuildPath-->Configure bu