构建LibreOffice Android
构建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相关推荐
- 电子界卡组构建2019_2018–2019年构建现代Android应用程序的路线图
电子界卡组构建2019 Kriptofolio应用程序系列-简介 (Kriptofolio app series - Introduction) Welcome to this series of b ...
- Android Gradle 构建工具(Android Gradle Build Tools)是什么?
转载地址:http://mrfu.me/android/2015/07/17/New_Android_Gradle_Build_Tools/ 译者地址:[翻]一览新的 Android Gradle 构 ...
- arcore_如何使用ARCore和Android Studio构建增强现实Android应用
arcore by Ayusch Jain 通过Ayusch Jain 如何使用ARCore和Android Studio构建增强现实Android应用 (How to build an Augmen ...
- Android源码 —— 构建下载Android源码的虚拟机环境(Win7+VMware12+Ubuntu16)
Android源码 -- 构建下载Android源码的虚拟机环境(Win7+VMware12+Ubuntu16) 本文将介绍从Win7系统开始一步步构建下载Android源码的虚拟机环境: **1.使 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境...
1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...
- android 详细构建过程,Android构建模块详细步骤概述
大家可能还记得,我们51CTO在一篇文章中介绍过有关Android模块的一些基本概念,相信大家应该可以对这些模块有一个深刻的认识了.在这里,我们会分步骤详细为大家讲解一下Android构建模块的相关知 ...
- 迁移ADT/ANT构建的Android项目至Gradle,a walk through。
LibModule 配置更新 9 months ago app 配置更新 9 months ago gradle/wrapper 配置更新 9 months ago screenshots ...
- android系统自动构建,[系统集成] Android 自动构建系统
一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包 android 的打包一 ...
- Facebook构建高性能Android视频组件实践之路
作者|Udi Cohen 译者|孙浩 本文转自"移动开发前线"(微信号:bornmobile). 随着移动设备视频消费的快速增长,为了更高效地呈现内容,Facebook 的移动工程 ...
最新文章
- 如果要将对象用作Map中的key,需要注意什么
- 'utf-8' codec can't decode byte 0xd5 in position 0: invalid continuation byte
- HALCON示例程序max_connection.hdev确定分割区域的最大区域数目
- 搭建WeApacheb网站服务器
- 如何开发一个可运维系统的一点体会
- [Web 前端] MobX
- do...while(); 语句在宏定义中的应用。
- Unity中UI框架初试探
- MCS-51单片机寻址方式详解
- java生成树型思维导图_Java生成思维脑图
- 笑坏肚皮的俏皮男女趣语
- 机器人与matlab——Robotics Toolbox—02建立机器人模型
- 2022可用的免费天气预报API接口
- 鼠标及键盘详细的键值表
- stm32出现ram、rom不够用,调试方法
- Rabbitmq交换机详解
- 知识点索引:幂函数性质
- eaxsinbx_研究性教学在分部积分法教学中的应用
- 2011 明锐 CD 大众收音机 播放SD 卡顿问题
- 47-jQuery介绍