vlc 3.5.X 编译

397 阅读1分钟

基于 Ubuntu 20.04 , Android studio 2021.3.1 ,NDk 21.4.7075529 进行编译

  1. code.videolan.org/videolan/vl…

  2. 按照文档编译步骤,进行按照对应的以来

  3.   export ANDROID_SDK=/home/guangsen/Android/Sdk
      export ANDROID_NDK=/home/guangsen/Android/Sdk/ndk/21.4.7075529
      export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
    

    执行完 buildsystem/compile.sh 后,再用Android studio 打开工程,进行同步 android studio 版本低,会有报错,根据提示

    ```
       ext.android_plugin_version = '7.3.0'
       ext.kotlin_version = '1.7.10'
       ext.kotlinx_version = '1.6.0'
    
       classpath 'com.vanniktech:gradle-maven-publish-plugin:0.22.0'
    ```
    

    工程同步还是蛮慢的,一个多小时才同步成功

  4. 再次执行 buildsystem/compile.sh 会有一些报错

    fseterr 报错 , 手动安装一次 bison : sudo apt-get install bison

    meson.build:1:0: ERROR: Meson version is 0.55.1 but project requires >=0.56 把版本好改一下 meson-0.56.0.tar.gz 在目录vlc/extras/tools/SHA12SUMS
    可以直接下载好,拖到 vlc/extras/tools下 sha512sum meson-0.56.0.tar.gz 查看sha512 对应改一下SHA12SUMS 配置

    buildsystem/compile.sh 会重复下载gradle再顶层目录,可以手动下载gradle插件放在这个目录,并屏蔽掉下载, 修改 buildsystem/compile.sh

       echo kapt.use.worker.api=false >> gradle.properties
      
      // 避免多次下载
       # wget ${GRADLE_URL} 2>/dev/null || curl -O ${GRADLE_URL} || fail "gradle: download failed"
       // 不需要移除
       # rm -rf gradle-${GRADLE_VERSION}-bin.zip
    
    

    build libvlcjni 的时候 会再次触发下载 gradle 里面有个新的gradle工程配置 (待复用外部gradle)

  5. 开始编译对应平台的 buildsystem/compile.sh --help 查看编译的 平台 ARM: (armeabi-v7a|arm) ARM64: (arm64-v8a|arm64)

    buildsystem/compile.sh -a vlc-android/build/outputs/apk 产生对应的 测试 apk

    buildsystem/compile.sh release release APK in the same folder

    buildsystem/compile.sh -l -a -r Build LibVLC 得到一个 aar 纯播放相关 -r 表示release版本的意思

    buildsystem/compile.sh -ml -a -r Build Medialibrary 得到一个 包含libvlc的带一些 应用层播控逻辑的 aar -r 表示release版本的意思

  6. 第五步执行成功后,也可以直接再Android studio 对 app , meidalibrary , libvlc 三个model进行编译生成 apk 或者 aar

另外提一下,master分支 编译一直报错,还在解决当中,3.5.x分支的代码 最近的修改也是2023年了,也是比较稳定的编译可选项.

有相关报错的同学,可以留言沟通或者邮箱我 liugstick@163.com