java - LibVlc android 无法加载库

标签 java android libvlc

我尝试运行libvlc的例子。我将vlc编译为android并将sdk库复制到他们写的项目中。 https://bitbucket.org/edwardcw/libvlc-android-sample

我收到这个错误

 1236-1236/com.compdigitec.libvlcandroidsample E/VLC/LibVLC﹕ Can't load vlcjni library: java.lang.UnsatisfiedLinkError: Couldn't load vlcjni from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.compdigitec.libvlcandroidsample-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.compdigitec.libvlcandroidsample-1, /system/lib]]]: findLibrary returned null

在这行他们是问题

  try {
           System.loadLibrary("vlcjni");
       } catch (UnsatisfiedLinkError ule) {
           Log.e(TAG, "Can't load vlcjni library: " + ule);
           /// FIXME Alert user
           System.exit(1);
       }

在 libs/armeabi-v7a 下我有那些文件

gdb.setup
gbdserver
libiomx-hc.so
libiomx-gingerbread.so
libiomx-ics.so
libvlcjni.so

我认为没有加载 .so 文件。 我该如何解决这个问题?

我检查了 apk 文件,它们没有 dic 库。或任何 libvlc 文件..

这是我的build.gradle文件

 apply plugin: 'com.android.application'

  android {
compileSdkVersion 19
buildToolsVersion "20.0.0"

defaultConfig {
    applicationId "com.compdigitec.libvlcandroidsample"
    minSdkVersion 7
    targetSdkVersion 17
}

buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
    debug {
    }
}

 }
dependencies {
  compile 'com.android.support:support-v4:18.0.0'


 }

谢谢

最佳答案

经过漫长的一夜,我找到了解决方案,所以如果有人需要它:

  1. 我将 lib 目录放在 zip 文件中。

  2. 将名称更改为 .jar。

  3. 转到 File ->project structure -> dependencies -> 然后我添加 jar 文件..

然后就可以了。

关于java - LibVlc android 无法加载库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152259/

相关文章:

video - 在视频播放器上设置时间触发器

java - 无法从 Activity 到 Activity

java - 554 邮件被拒绝 电子邮件地址未经过验证。亚马逊 ses-java

java - 如何使用 Jersey 拦截器获取请求体

android - 对话框首选项中的自定义 View

ios - 如何禁用 VLCMediaPlayer 错误 AlertView?

actionscript-3 - VLC 语法转码和流式传输到标准输出?

java - 以纳秒为单位衡量程序的运行时间

android - 如何将对象附加到 ImageView 并将其返回到下一个屏幕

Java - (android) 在刷新其 OutputStream 后重用一个进程