Ubuntu16.04编译LibreOffice Android版

公司目前正在做的是办公软件的内容,需要依赖于LibreOffice的库。那么其实在这之前我们需要把整个流程细细的分析一下。
要求是对Micorsoft公司的word文档,xecle文档,ppt文档可以进行展示,编写,创建的操作。我第一次想到这个问题的时候,脑海里是一片蒙圈的状态,毕竟之前做过类似要求的,但是一般都是说要求展示文档内容即可,并没有要求编辑功能。没办法只能自己研究。
不过好在我们知道有一款开源软件LibreOffice是支持文档的编辑操作的。那么对于这个技术点我进行研究。发现所有的内容都是依赖于LibreOffice的。将所有使用到的内容打包成so库之后,通过Android引入C++的方式完成。那么首先需要做的就是将软件进行编译。那么编译是需要在Ubuntu系统下进行的,官网也给出了在其他操作系统下编译的方式,但我没有实验。官方方法
这里面的方法都是一些比较简单的操作。这里的简单操作指的是命令写的没有那么多了,但是实际中电脑需要执行的操作,还是那么多。
我们使用的Ubuntu系统,那么我们当我们需要进行编译的时候,可以直接通过下面的命令去执行

sudo apt-get build-dep libreoffice

多说无益,直接开始

下载源码

既然要编译,那么肯定要将源码下载下来,下载地址,大家可以去官网下载,也可以去github上面去下载。两个的下载方式是有区别的。官网的版本计较老,但是功能稳定,github上面的版本较多,可选择的也多。所以孰优孰劣自己决定。我是从官网上下载下来的代码。

git clone git://gerrit.libreoffice.org/core libreoffice

下载之后得到一个libreoffice的文件夹,文件夹中的内容比较多,包含了大量的C、C++代码,所以看起来比较麻烦,不过幸好我们是Android开发人员,对于C++的内容不一定非要每一行都理解。

构建环境

配置Ubuntu编译环境

构架环境分为两个方式,第一种方式是如官网给出的方式
不同系统下搭建环境
我们只需要依次执行下面的命令

cd libreoffice

执行编译操作

sudo apt-get build-dep libreoffice

这里第二句是最关键的,他通过将LibreOffice的环境包拿过来,然后直接通过安装环境帮我们搭建开发环境,省去了我们需要将所有依赖依次导入的繁琐。但是也有不好的地方,就是如果报错的话,查找起来很麻烦。不过还是建议使用这样的方式,毕竟我并不是C++开发人员。

配置Android编译环境

新建一个配置文件autogen.input
在这个文件中需要添加一些配置信息
如果我们只需要使用虚拟机,则可以使用如下的方式

with-android-ndk=/opt/libreoffice/android-ndk-r8bwith-android-ndk-toolchain-version=4.6with-android-sdk=/opt/libreoffice/android-sdk-linux 
–build=i586-suse-linux 
–enable-ccachewith-distro=LibreOfficeAndroidX86

如果我们想要使用真机测试,可以使用下面的方式

–enable-dbgutil 
–enable-werrorwith-distro=LibreOfficeAndroid
--with-android-ndk=~/Android/Sdk/ndk-bundle/

注意,路径要正确无误
完成之后需要命令./autogen.sh 执行。
如果在./autogen.sh之后没有报错,说明当前的配置是正确的,如果出错,一般都是因为路径问题。
之后直接执行make命令,即可首先相应操作,这里需要下载大量第三方依赖,过程较为缓慢,建议直接挂机,去做一些别的事情。
至此编译工作完成。
这里也是在前人的基础上自己试验总结出来的,出处这里
如果有任何疑问可以和我交流!

猜你喜欢

转载自blog.csdn.net/weixin_42580207/article/details/80889509