linux下编译libvlc-4.0.0.aar

         ubuntu下编译最新的vlc-android看代码里面是V3.7版本代码库,真的是辛苦。我看网上基本没人编译。这个没人用吗。我看了下心版本更新还是挺大的,FFMPEG都更新到7.1.2,增加了不少功能,做些安卓的播放器啥的还是挺好用的。老版本的LIBVLC-3.0.0.AAR的经常会到不少BUG,勉强能用,新的从FFMPEG上来看都更新了不少功能。而且还可以编译打开不少选项,我看默认有不少还没开。

       以前编译过LIBVLC-3.0.0.AAR,也是编译的非常痛苦,找了不少资料才搞定。这个4.0.0问题更多。一开始我还是用ubuntu20.04的编译,折腾很久,卡在* What went wrong:
Could not resolve all artifacts for configuration 'classpath'.
> Could not resolve com.android.tools.build:gradle-settings:8.13.0.
  Required by:
      unspecified:unspecified:unspecified > com.android.settings:com.android.settings.gradle.plugin:8.13.0
   > Dependency requires at least JVM runtime version 11. This build uses a Java 8 JVM.

这种鬼地方,这个gradle版本就是对不齐,怪事了。非常气愤的改成ubuntu24.04,问题解决。

编译AAR,首先是安装工具sudo apt install autoconf automake libtool pkg-config ninja-build automake m4 libtool pkg-config cmake bison flex nasm help2man meson gperf python3-pip python3-venv autopoint gettext git  这些都装吧,基本都要用。然后要配置好git,git submodule update –init –recursive   git config –global http.postBuffer 524288000配置好git缓存大小,不然git下载大文件报些莫名的错误,烦的很。git config –global user.email “xx@qq.com” git config –global user.name “xx xxxx”
还有就是配置NDK,ANDROID SDK目录。

   编译过程遇到的第一个问题就是gradle下载路径的问题,官网的https://services.gradle.org/distributions/经常连接不上要么超时,头大好几圈,可以换成https://mirrors.cloud.tencent.com/gradle 这个国内的镜像快多了。

接下来的就是个大奇葩,下载gradle8.13版本居然SHA256文件里的和网站上的对不上,真是气死人,没人负责的吗,这个问题居然要折腾1天,愤然直接sh文件注销两行得了,自己下载文件放到目录里面去,真是一口老痰吐出去了,舒服了。接下来就是遇到raw.githubusercontent.com这个经常不上,可以配置sudo gedit /etc/hosts配置这两个 185.199.108.133 raw.githubusercontent.com
213.36.253.2 downloads.videolan.org 。访问速度超快。

还要就是遇到install config.sub错误,又是SHA256对不上死活install失败,干脆自己拷贝过去,tools.mak里面直接注销,省事了。期中还有安装pip的时候遇到的超时换服务器解决如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lxml,还有main.mak文档里的奇葩地址也是非翻墙搞不定的就换地址八pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple …..,也是超折腾。
以为就要通关了,结果遇到

FAILURE: Build failed with an exception.

* What went wrong:
Value '(all,none,summary)' given for org.gradle.warning.mode Gradle property is invalid
网上翻了一下,也只有在gradle.properties里面加上一行

org.gradle.warning.mode=(all,none,summary),取消所有警告。过关。

整个过程超折腾,欲哭无泪,不过最终还是编译通过,值得纪念一下。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容