编译LibreOffice for Android

基本环境

  • 系统环境 ubuntu 17.0
  • jdk 环境 oracle 1.8
  • android sdk 25.2.5
  • ndk 14

编译准备

  • 拉取源码
    git clone git://anongit.freedesktop.org/libreoffice/core libreoffice
    cd libreoffice
  • 建立编译配置文件
    autogen.input
    –with-distro=LibreOfficeAndroid(默认)
  • armv7
    Here is an autogen.input for Android on ARM when cross-compiling
    from Linux:
    –enable-dbgutil
    –enable-werror
    –with-distro=LibreOfficeAndroid
  • x86
    And here is an (quite old) autogen.input for Android on X86:
    –with-android-ndk=/opt/libreoffice/android-ndk-r8b
    –with-android-ndk-toolchain-version=4.6
    –with-android-sdk=/opt/libreoffice/android-sdk-linux
    –build=i586-suse-linux
    –enable-ccache
    –with-distro=LibreOfficeAndroidX86
  • 生成Makefile
    ./autogen.sh 执行该命令生成Makefile
    生成的Makefile 的58行
    @if test id -u = 0 && ! grep -q ‘lxc|docker’ /proc/self/cgroup; then
    改为
    @if test id -u = !0 && ! grep -q ‘lxc|docker’ /proc/self/cgroup; then
    不然root权限执行也会错误
  • 配置所有依赖
    sudo apt-get build-dep libreoffice
    必须使用ubuntu官方源 国内阿里和中科大源都没有
    配置的源中缺少nss-3.29.5-with-nspr-4.13.1.tar.gz
    https://dev-www.libreoffice.org/src/nss-3.29.5-with-nspr-4.13.1.tar.gz 进行下载 放到目录
    /libreoffice/external/tarballs 和
    /libreoffice/wordir_fot_build/UnpackedTarget

开始编译

  • sudo make

注意事项

  • android sdk版本必须25.3.0一下 高版本google把ant删除了。 下载build.gradle用到的api buildtool 等。
  • android ndk版本必须在9~15.0中 。
  • sdk ndk放到指定位置。/external/
  • java版本好像没有要求 1.7 1.8都可以
  • X86版本编译时候 高版本ndk中有个文件夹名字错误需要重命名。
  • 总编译时间约2.5小时
  • 最好全程科学上网。

参考网址:

猜你喜欢

转载自blog.csdn.net/u011181222/article/details/74503139