构建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)

二、步骤

  • 在LibreOffice master分支构建Android

    1.root权限下新增lool用户

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,请关注下一篇文章,点击LibreOffice Android构建——CollaboraOnline Android查看。
参考文章:https://wiki.documentfoundation.org/Development/BuildingForAndroid

构建LibreOffice Android相关推荐

  1. 电子界卡组构建2019_2018–2019年构建现代Android应用程序的路线图

    电子界卡组构建2019 Kriptofolio应用程序系列-简介 (Kriptofolio app series - Introduction) Welcome to this series of b ...

  2. Android Gradle 构建工具(Android Gradle Build Tools)是什么?

    转载地址:http://mrfu.me/android/2015/07/17/New_Android_Gradle_Build_Tools/ 译者地址:[翻]一览新的 Android Gradle 构 ...

  3. arcore_如何使用ARCore和Android Studio构建增强现实Android应用

    arcore by Ayusch Jain 通过Ayusch Jain 如何使用ARCore和Android Studio构建增强现实Android应用 (How to build an Augmen ...

  4. Android源码 —— 构建下载Android源码的虚拟机环境(Win7+VMware12+Ubuntu16)

    Android源码 -- 构建下载Android源码的虚拟机环境(Win7+VMware12+Ubuntu16) 本文将介绍从Win7系统开始一步步构建下载Android源码的虚拟机环境: **1.使 ...

  5. 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境...

    1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...

  6. android 详细构建过程,Android构建模块详细步骤概述

    大家可能还记得,我们51CTO在一篇文章中介绍过有关Android模块的一些基本概念,相信大家应该可以对这些模块有一个深刻的认识了.在这里,我们会分步骤详细为大家讲解一下Android构建模块的相关知 ...

  7. 迁移ADT/ANT构建的Android项目至Gradle,a walk through。

    LibModule 配置更新 9 months ago   app 配置更新 9 months ago   gradle/wrapper 配置更新 9 months ago   screenshots ...

  8. android系统自动构建,[系统集成] Android 自动构建系统

    一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包 android 的打包一 ...

  9. Facebook构建高性能Android视频组件实践之路

    作者|Udi Cohen 译者|孙浩 本文转自"移动开发前线"(微信号:bornmobile). 随着移动设备视频消费的快速增长,为了更高效地呈现内容,Facebook 的移动工程 ...

最新文章

  1. 如果要将对象用作Map中的key,需要注意什么
  2. 'utf-8' codec can't decode byte 0xd5 in position 0: invalid continuation byte
  3. HALCON示例程序max_connection.hdev确定分割区域的最大区域数目
  4. 搭建WeApacheb网站服务器
  5. 如何开发一个可运维系统的一点体会
  6. [Web 前端] MobX
  7. do...while(); 语句在宏定义中的应用。
  8. Unity中UI框架初试探
  9. MCS-51单片机寻址方式详解
  10. java生成树型思维导图_Java生成思维脑图
  11. 笑坏肚皮的俏皮男女趣语
  12. 机器人与matlab——Robotics Toolbox—02建立机器人模型
  13. 2022可用的免费天气预报API接口
  14. 鼠标及键盘详细的键值表
  15. stm32出现ram、rom不够用,调试方法
  16. Rabbitmq交换机详解
  17. 知识点索引:幂函数性质
  18. eaxsinbx_研究性教学在分部积分法教学中的应用
  19. 2011 明锐 CD 大众收音机 播放SD 卡顿问题
  20. 47-jQuery介绍

热门文章

  1. Android线程间通信
  2. linux中文本如何过滤器,Linux 上 12 个高效的文本过滤命令
  3. 播音发声技巧(一):发声基础
  4. IEEE期刊论文投稿前期准备
  5. 实施架构一个Android项目
  6. 搜寻马航MH370有多烧钱?澳方花费惊人
  7. 如何linux搭建vpn服务器
  8. IDEA下载以及配置(最全)
  9. 阿里云学生版服务器从零搭建教程
  10. RFID智能光纤识别系统