红联Linux门户
Linux帮助

Ubuntu 15编译vlc for android 1.9.5

发布时间:2016-03-25 10:02:42来源:linux网站作者:陈丹宇

项目需要vlc播放网络上的mp4文件,支持字幕,最后找到了vlc for android。

下面是我的编译过程的记录,其中也记录了一些linux操作相关的,只是为了新手方便操作。


一、下载ubuntu 15.10 64位系统,在vmware 10中安装,采用NAT方式连接网络。我的机器是i5的cpu,选择1个芯片,4个核心。当retrieving file 和安装语言包时点击文字左边的那个小三角形,此时右边会出现“跳过”按钮。

设置好用户名及密码。

给root设置密码:
sudopasswd root
password for you :---> 输入你的密码,不会显示
Enter new UNIXpassword:
---> 设置root 密码
Retype new UNIXpassword:
-->重复

sudo apt-get install gawk

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

sudo dpkg --add-architecture i386

sudo apt-get update

sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386

以root用户登录,以免权限问题。

Ctrl+Alt+F2 打开终端
Ctrl+Alt+F7 回到图形界面


二、安装ssh,从而可以使用SecureCRT访问虚拟机的Ubuntu,方便操作(可以在windows和SecureCRT之间拷贝、粘贴)。
apt-get install openssh-server

ssh允许root登录:   修改/etc/ssh/sshd_config,将PermitRootLogin值改yes
关掉防火墙:ufw disable
启动服务:service ssh start


三、下载JDK,Android SDK,NDK
JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html
SDK:http://developer.android.com/sdk/index.html
NDK:http://developer.android.com/sdk/ndk/index.html

mkdir /dev_tools
将这些都解压到/dev_tools/目录下(解压到当前目录后执行拷贝,如:cp -R jdk1.8.0_73 /dev_tools),如下图所示:

Ubuntu 15编译vlc for android 1.9.5

查看目录权限 ls -l /dev_tools
如果提示权限问题可以修改权限:chmod 777 /dev_tools


四、配置环境变量
export JAVA_HOME=/dev_tools/jdk1.8.0_73
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}
export ANDROID_SDK=/dev_tools/android-sdk-linux
export ANDROID_NDK=/dev_tools/android-ndk-r11b

export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools:${JAVA_HOME}/bin


五、下载代码
mkdir /workroom
cd /workroom
git clone https://code.videolan.org/videolan/vlc-android.git


六、编译及错误处理
cd /workroom/vlc-android/
./compile.sh

此时会自动下载gradle及源代码和各种依赖库。

No ANDROID_ABI defined architecture: using ARMv7
这是因为没有指定ANDROID_ABI,可以通过export ANDROID_ABI=armeabi-v7a指定,还可以是armeabi,armeabi-v5,armeabi-nofpu,arm64-v8a等,具体可以参见compile.sh。
关于compile.sh, --release可以编译发布版,-s keystore文件 -p 密码。

如果中间下载文件失败,此时可以启用或者停止vpn再试一次,我就发现启用vpn有些文件下载不了,而有些却必须启用vpn,或者换一个连接站点。

configure: error: You need 32-bits luac when using lua from contrib
我试着用sudo apt-get install liblua5.2:i386及sudo apt-get install liblua5.1-0-dev:i386还是出现同样的问题,最后采用暴力手段,修改/vlc/configure,注释掉#as_fn_error $?  "You nedd 32-bits luac when using lua from contrib."

Build tools 23.0.2 missing. Downloading...
Platform tools missing. Downloading...
Compilation API android-23 missing. Downloading...
Support library repository missing. Downloading...
这个说明需要23.0.2的版本,等着下载即可。

最后输出目录在/workroom/vlc-android/vlc-android/build/outputs/apk,恭喜你,终于等到开花结果了!


下一步研究如何将so、jar及部分java文件集成到自己的app中。

谢谢在此编译过程中直接或间接帮助过我的朋友!


本文永久更新地址:http://www.linuxdiyf.com/linux/19225.html