基于 Ubuntu 20.04 , Android studio 2021.3.1 ,NDk 21.4.7075529 进行编译
-
按照文档编译步骤,进行按照对应的以来
-
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' ```工程同步还是蛮慢的,一个多小时才同步成功
-
再次执行 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.zipbuild libvlcjni 的时候 会再次触发下载 gradle 里面有个新的gradle工程配置 (待复用外部gradle)
-
开始编译对应平台的 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版本的意思
-
第五步执行成功后,也可以直接再Android studio 对 app , meidalibrary , libvlc 三个model进行编译生成 apk 或者 aar
另外提一下,master分支 编译一直报错,还在解决当中,3.5.x分支的代码 最近的修改也是2023年了,也是比较稳定的编译可选项.
有相关报错的同学,可以留言沟通或者邮箱我 liugstick@163.com