ubuntu下vlc-android编译

版权声明: https://blog.csdn.net/u013470102/article/details/80717918

vlc-android编译感觉挺麻烦的,记一下。

我的编译配置: ubuntu16.04LTS + android-ndk-r14b +
android-sdk-r24.4.1-linux

1.安装编译vlc需要的工具

sudo apt-get install automake ant autopoint cmake build-essential libtool \ patch pkg-config protobuf-compiler ragel subversion unzip git \ openjdk-8-jre openjdk-8-jdk flex

2.配置ndk与sdk

vim .bashrc  // 文件路径/home/hxk/.bashrc  

配置ndk与sdk
在最后一行并添加如下代码

#配置ndk
ANDROID_NDK=/home/hxk/software/android-ndk-r14b
export ANDROID_NDK
# 加入到PATH路径
PATH=${PATH}:${ANDROID_NDK}
#配置sdk
export ANDROID_SDK=/home/hxk/software/android-sdk-linux
#VLC编译脚本只认 $ANDROID_SDK 环境变量
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

保存文件
更新环境变量:

source /etc/profile
source ~/.bashrc//执行环境变量

检查ndk与sdk是否配置成功

3.close vlc-android代码

git clone https://code.videolan.org/videolan/vlc-android.git

4.在vlc-android目录下close vlc代码
错误1:
这里选择哪个分支close呢?这里之前一直编译报这个错!
这里写图片描述
解决方案:删除之前的vlc目录,在compile.sh 239行有个git的链接,clone这个vlc在vlc-android目录下

错误2:
如果出现 ../configure:line 9171:syntax error near unexpected token ‘dlopen’ ../configure line 9171:’LT_INIT(dlopen win32-dll shared disable-static)’
这种错误,其实是libtool有问题,我们可以在vlc/vlc-android/vlc目录下执行autoreconf 来解决此问题即可。如果执行autoreconf失败,百度按照对应的操作执行

错误3:报哪个库错误,就百度安装哪个库

5.编译

export ANDROID_ABI=armeabi-v7a//指定版本
//运行脚本
./compile.sh

这里会失败,多重复几次

扫描二维码关注公众号,回复: 5997609 查看本文章

6.编译成功
看到下图说明编译成功了
这里写图片描述
查看对应目录就可以看到生成的apk文件了,拷贝安装即可。
这里写图片描述

7.后面就可以定制vlc和ffmpeg等库重新编译了

这里做个简单的小演示,修改一个string文件:
这里写图片描述
在vlc-android目录下,重新执行脚本 sh compile.sh编译成功后
可以看到apk的改动了
这里写图片描述
后面我们可以把应用层放到androidstudio中,只需改动c层编译so放进去替换就可以了。

参考文档:
https://www.jianshu.com/p/529293030334
https://wiki.videolan.org/AndroidCompile/
常见错误:
https://www.jianshu.com/p/ec0614e5c55f

猜你喜欢

转载自blog.csdn.net/u013470102/article/details/80717918
今日推荐