【VLC-Android】Mac下编译vlc-android

简介:

本文vlc-android的版本为:2.2.0-pre1 Weatherwax 

一般按照官网来就行(https://wiki.videolan.org/AndroidCompile),以下是遇到的几个问题:

1、环境变量配置

export ANDROID_NDK=/Users/nmbb/Android/android-ndk-r9d
export ANDROID_SDK=/Users/nmbb/Android/android-sdk-macosx
export PATH= PATH: ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
export ANDROID_ABI=armeabi-v7a

2、编译错误

如果遇到sed: RE error: illegal byte sequence,增加 export LANG=C 即可。

3、不编译jar和apk

注释掉Makefile的下面三行:

#     git rev-parse --short HEAD > $(SRC)/assets/revision.txt

#     ./gen-env.sh $(SRC)

#     (VERBOSE)cd(SRC) && ant (ANTOPTS)(ANT_TARGET)

4、少了iomx-jbmr2.so和iomx-kk.so

解注释Makefile下面这行

    LIBVLC_LIBS += libiomx-kk libiomx-jbmr2

但是注意说明: 

    # The following iomx libs are used for DEBUG only.
    # (after android Jelly Bean, we prefer to use MediaCodec instead of iomx)

5、 让VLC显示缓冲进度

5.1 解注释 EventHandler的如下行:

     public  static  final  int MediaPlayerBuffering            = 0x103;

5.2 修改jni/libvlcjni.c,增加如下行389行:

     static  const libvlc_event_type_t mp_events[] = {
        libvlc_MediaPlayerPlaying,
        libvlc_MediaPlayerPaused,
        libvlc_MediaPlayerEndReached,
        libvlc_MediaPlayerStopped,
        libvlc_MediaPlayerVout,
        libvlc_MediaPlayerPositionChanged,
        libvlc_MediaPlayerTimeChanged,
        libvlc_MediaPlayerEncounteredError,
         libvlc_MediaPlayerBuffering
    };

然后重新编译生成so。截止到发文章,这个还没来得及测,参考这篇文章:  

vlc-android 获取MediaPlayerEncounteredError,MediaPlayerBuffering等各种事件的响应 http://blog.csdn.net/memegood123/article/details/8769008

6、系列文章

【VLC-Android】vlc-android简例 

本文转自博客园农民伯伯的博客,原文链接:【VLC-Android】Mac下编译vlc-android,如需转载请自行联系原博主。



目录
相关文章
|
4月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
290 1
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
97 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
2月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
4月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
148 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
4月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
276 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
4月前
|
Ubuntu 开发工具 Android开发
Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27
文章记录了作者在Ubuntu 21.04服务器上配置环境、下载并编译基于Android 12.1.0_r27版本的AOSP源码的过程,包括解决编译过程中遇到的问题和错误处理方法。
212 0
|
3月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
26天前
|
开发工具 iOS开发 开发者
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
本篇将专注于如何在 Mac 上安装鸿蒙开发工具 DevEco Studio,确保开发环境能够顺利搭建。完成安装后,可以正式开始鸿蒙应用的开发工作。
73 1
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
|
2月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
69 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda