gpt4 book ai didi

android - 在 Windows 上使用 LibVLC for android 进行开发

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:04 26 4
gpt4 key购买 nike

我什至努力得到 demo application使用 Android-LibVLC 运行。

我只能找到documentation对于 linux,无法让应用程序在我的设备上运行(尽管它可以编译)。

当我启动应用程序时,它会记录:

12-16 15:58:19.572    9121-9121/? 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, /vendor/lib, /system/lib]]]: findLibrary returned null
12-16 15:58:19.667 9135-9135/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, /vendor/lib, /system/lib]]]: findLibrary returned null

我已经使用 org.videolan.libvlc 目录类作为源根目录的一部分编译了项目 APK,并在同一模块中使用了 jni 目录但失败了,我还将整个 VLC 模块作为一个单独的库包含在内模块并使其成为依赖项,这也失败了。

有没有人有经过验证的方法来从 Windows 使用 LibVLC 配置/构建 android 项目?或说明/文档的链接? (我一直找不到任何东西)。

目标是将我的 android MediaPlayer 依赖类替换为支持更多文件类型/编解码器的库/实现。

最佳答案

在 Windows 中构建时,您会收到警告说 "Android.mk:iomx-hc: non-system libraries in linker flags: -lgcc -lstagefright - lmedia -lbinder" 你会得到它们多个文件。它也警告“Android NDK:这可能会导致构建不正确。尝试使用 LOCAL_STATIC_LIBRARIES”因此,即使您获得构建输出,它也不会有所需的文件。因此,您在运行应用程序时遇到错误。

现在,如果您查看 Android.mk,您会发现

include $(CLEAR_VARS)

LOCAL_MODULE := libiomx-gingerbread
LOCAL_SRC_FILES := ../$(VLC_SRC_DIR)/modules/codec/omxil/iomx.cpp
LOCAL_C_INCLUDES := $(VLC_SRC_DIR)/modules/codec/omxil $(ANDROID_SYS_HEADERS_GINGERBREAD)/frameworks/base/include $(ANDROID_SYS_HEADERS_GINGERBREAD)/system/core/include
LOCAL_CFLAGS := -Wno-psabi
LOCAL_LDLIBS := -L$(ANDROID_LIBS) -lgcc -lstagefright -lmedia -lutils -lbinder

include $(BUILD_SHARED_LIBRARY)

我从here下载了vlc的源码在提取源代码后,我能够找到“extracted_pa​​th”\vlc-2.1.4\modules\codec\omxil\iomx.cpp。因此,如果您可以将 VLC_SRC_DIR 的包含路径更改为在 WINDOWS 机器上提取 vlc 源的目录,我认为您应该能够编译它。如果不使用运行 linux 的虚拟机来编译项目。它还需要存档库 (.a),您在 vlc 的源代码中找不到。因此,您必须首先构建 vlc 的源代码,然后将所有内容包含在项目中。我认为虚拟机中的 Linux 是您最好的选择。

关于android - 在 Windows 上使用 LibVLC for android 进行开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20617049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com