构建LibreOffice Android预览有两种方式,第一种方式就是在master分支上进行构建,但是这种方式构建出来的Android应用程序,界面并没有那么友好,对于只是研究源码的小伙伴来说是一种不错的选择。 如果想要界面友好,体验比较顺畅的话,可以选择Collabora公司的online部分源码结合LibreOffice core源码进行构建,在编译过程中,本人也遇到很多坑,不过在趟坑的过程中,两种方式的源码,都编译成功了,写这篇文章,一是为了记录,二是希望能帮助到更多和我一样的小伙伴,可以一起探讨学习。 下面我将把两种编译需要的环境和配置记录下载,供大家参考。
一、环境
不管是在LibreOffice mster分支上构建Android,还是结合online构建Android他们需要的环境都是一样的,他们都需要在Linux系统下进行交叉编译。
- 系统:Ubuntu20.04
- openjdk-11
- android-studio
- ndk-r20b(在android-studio里面对应的ndk 20.1.5948944)
二、步骤
adduser lool
设置完密码后,用户信息默认回车就好,配置账号权限:
vim /etc/sudoers
lool ALL=(ALL:ALL) ALL
2.安装依赖项
sudo apt-get install git build-essential zip ccache junit4 libkrb5-dev nasm graphviz python3 python3-dev qtbase5-dev libkf5coreaddons-dev libkf5i18n-dev libkf5config-dev libkf5windowsystem-dev libkf5kio-dev autoconf libcups2-dev libper doxygen libxslt1-dev xsltproc libxml2-utils libxrandr-dev bison flex libgtk-3-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ant ant-optional
3.切换到lool用户
su lool
4.拉取代码
git clone https://github.com/LibreOffice/core
5.添加autogen.input文件
touch autogen.input
6.写入配置
--with-distro=LibreOfficeAndroid
--with-android-sdk=/home/$USER/Android/Sdk
--with-android-ndk=/home/$USER/Android/Sdk/ndk/20.1.5948944
--with-jdk-home=/usr/lib/jvm/java-11-openjdk-amd64
--enable-android-editing
--enable-odk
--with-build-platform-configure-options=--without-system-libxml
--with-external-tar=/LibreOffice/lo-externalsrc-core
7.然后运行autogen.sh
./autogen.sh
8.检查没问题,运行make
make
9.接下来就耐心等待构建完成,具体时间需要根据电脑配置来,3到5小时不等,构建成功后,进入android/source 目录打包apk,也可以在android-studio里面打开source目录进行build
cd android/source
make install
到此在master分支构建android已经完成,这个版本是针对arm-v7进行构建,如果需要构建其他版本,找到distro-configs目录下,查看对应配置名字,把autogen.input中”–with-distro“改成对应名称即可。 根据Collabora公司的online源码结合 core 构建android,请关注下一篇文章。 参考文章:https://wiki.documentfoundation.org/Development/BuildingForAndroid
|