博客
关于我
2015——VLC编译
阅读量:797 次
发布时间:2023-04-04

本文共 1627 字,大约阅读时间需要 5 分钟。

VLC Android编译指南:在Ubuntu 32位系统下完成

作为一名开发人员,我多次尝试在Ubuntu系统下编译VLC Android版应用,最终成功完成了这一过程。以下是我整理的详细编译步骤和经验分享,希望能为有类似需求的开发者提供帮助。

一、所需工具准备

在编译过程中,我使用以下工具和版本:

  • 编译系统:Ubuntu 32位系统(我使用的是ubuntukylin-14.04.2-desktop-i386在VMware虚拟机上)
  • Android SDK:使用最新版本android-sdk-r24.3.3-linux.tar,下载后还需要安装最新的build-tools(SDK 5.0以上推荐,部分新功能依赖此版本)
  • NDK:使用android-ndk-r10e-linux-86.bin
  • JDK:安装了jdk-8u51-linux-i586
  • 二、环境搭建

    在安装所有必要软件包后,需要配置环境变量。以下是详细的配置步骤:

    sudo apt-get install automake ant autopoint cmake build-essential libtool patch pkg-config protobuf-compiler ragel subversion unzip git

    环境变量配置

    export JAVA_HOME=/home/youruser/tools/jdk1.8.0_51export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
    export ANDROID_SDK=/home/youruser/tools/android-sdk-linuxexport ANDROID_NDK=/home/youruser/tools/android-ndk-r10eexport PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/toolsexport ANDROID_ABI=armeabi-v7a # 根据需要调整,如x86或mips

    确保ANDROID_ABI设置正确,默认值为armeabi-v7a。

    三、获取源代码

    在项目目录中执行以下命令下载源代码:

    git clone

    这将在当前目录中创建一个android子目录,包含必要的编译配置。

    四、开始编译

    进入android目录,执行编译脚本:

    ./compile.sh

    脚本会自动下载VLC源码和相关插件。下载过程中可能会遇到被墙阻止的问题,如果使用VPN会更顺利。下载失败的文件需要手动获取并放到相应目录。

    常见问题解决

    在编译过程中,可能会遇到gettext版本不兼容的问题。系统自带的gettext版本为0.18.3,编译需要版本更高。解决方法如下:

  • 手动下载并安装新版本(如0.19.3)
  • 在对应的配置文件中手动修改版本号为0.18.3
  • 五、生成APK文件

    编译完成后,APK文件位于android/vlc-android/build/outputs目录下。

    六、程序运行

    由于使用的是Gradle构建,直接在Eclipse中使用可能较为复杂。推荐使用Android Studio或IntelliJ IDEA进行开发和调试。需要注意的是,由于使用了支持库,可能会遇到类似appcompat和cardview的依赖冲突问题,建议手动管理这些依赖。

    注意事项

    • 确保网络稳定,避免下载中断。
    • 如果遇到问题,请参考相关社区或开发者论坛,如Stack Overflow,寻求帮助。
    • 建议定期备份工作目录,防止中断后的数据丢失。

    希望这份指南能为您的编译过程提供清晰的指导,祝您编译成功!如果有任何疑问或遇到问题,请随时反馈。

    转载地址:http://qsrfk.baihongyu.com/

    你可能感兴趣的文章
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>
    Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
    查看>>
    mysql中实现rownum,对结果进行排序
    查看>>
    mysql中对于数据库的基本操作
    查看>>
    Mysql中常用函数的使用示例
    查看>>
    MySql中怎样使用case-when实现判断查询结果返回
    查看>>
    Mysql中怎样使用update更新某列的数据减去指定值
    查看>>
    Mysql中怎样设置指定ip远程访问连接
    查看>>