Categories: - Reading License: MPL-2.0 WebSite: https://www.libreoffice.org/download/android-viewer/ SourceCode: https://cgit.freedesktop.org/libreoffice/core/tree IssueTracker: https://bugs.documentfoundation.org Changelog: https://www.libreoffice.org/download/release-notes/ Donate: https://donate.libreoffice.org Name: LibreOffice Viewer Description: |- LibreOffice Viewer uses the same engine as LibreOffice for Windows, Mac, and Linux. This, combined with a new front-end based on Firefox for Android, reads documents similarly to LibreOffice desktop. Supported files: * Open Document Format (odt, ods and odp) * Microsoft Office 2007/2010/2013 (docx, xlsx and pptx) * Microsoft Office 97/2000/XP/2003 (doc, xls and ppt) LibreOffice Viewer also comes with a first preview of the editing functionality, which is considered an experimental feature and not stable enough for mission critical tasks. Feedback and bug reports are very welcome, to help developers improve the quality of the application on its way to a fully-fledged editor. RepoType: git Repo: git://anongit.freedesktop.org/libreoffice/core Builds: - versionName: 5.0.0.0.alpha1+/ab465b9 versionCode: 1 commit: ab465b9 output: android/experimental/LOAndroid3/bin/LibreOfficeViewer-release-unsigned.apk srclibs: - LOTarballs@c7c4bd4 prebuild: - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk build: - ln -s ../$$LOTarballs$$ external/tarballs - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-ndk-toolchain-version=4.9 --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroid --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --with-x=no --disable-gconf --disable-python" - make versionCode=1 - versionName: 5.0.0.0.alpha1+/ab465b9 versionCode: 2 commit: ab465b9 output: android/experimental/LOAndroid3/bin/LibreOfficeViewer-release-unsigned.apk srclibs: - LOTarballs@c7c4bd4 prebuild: - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk build: - ln -s ../$$LOTarballs$$ external/tarballs - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-ndk-toolchain-version=4.9 --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroidX86 --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --with-x=no --disable-gconf --disable-python" - make versionCode=2 - versionName: 5.1.0.0.alpha1+/5b791ec versionCode: 4 disable: failing build commit: 5b791ec subdir: android/source gradle: - StrippedUI srclibs: - LOTarballs@4f627e5f prebuild: - pushd ../../ - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk - sed -i -e 's/rm /true /g' android/source/Makefile - sed -i -e 's/\.\/gradlew/true/g' android/source/Makefile - echo "Typo" - sed -i -e 's/share\/share/share/g' android/source/build.gradle - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-ndk-toolchain-version=4.9 --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroid --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --with-x=no --disable-gconf --disable-python" - popd - make liboSettings.gradle versionCode=4 build: - pushd ../../ - ln -s ../android/source/$$LOTarballs$$ external/tarballs - make - popd - versionName: 5.1.0.0.alpha1+/5b791ec versionCode: 5 disable: failing build commit: 5b791ec subdir: android/source gradle: - StrippedUI srclibs: - LOTarballs@4f627e5f prebuild: - pushd ../../ - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk - sed -i -e 's/rm /true /g' android/source/Makefile - sed -i -e 's/\.\/gradlew/true/g' android/source/Makefile - echo "Typo" - sed -i -e 's/share\/share/share/g' android/source/build.gradle - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-ndk-toolchain-version=4.9 --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroidX86 --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --with-x=no --disable-gconf --disable-python" - popd - make liboSettings.gradle versionCode=5 build: - pushd ../../ - ln -s ../android/source/$$LOTarballs$$ external/tarballs - make - popd - versionName: 5.2.3.1/01ec8f3 versionCode: 10 commit: 01ec8f357e651ca9656837b783cf7e6a32ee4d92 subdir: android/source gradle: - StrippedUI srclibs: - LOTarballs@7af09343d73215d3556898d70a35af94efd02cec rm: - setup_native/source/packinfo/DS_Store* - oox/qa/unit/data - writerperfect/qa/unit/data/writer/libmwaw/pass/WriterPlus prebuild: - pushd ../../ - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk - sed -i -e 's/rm /true /g' android/source/Makefile - sed -i -e 's/\.\/gradlew/true/g' android/source/Makefile - sed -i -e '/opencl.openclwrapper.hxx/d' -i -e 's/bOpenCL = .*;$/bOpenCL = false;/' cui/source/dialogs/about.cxx - sed -i -e '/desktop\/source\/app\/opencl/d' desktop/Library_sofficeapp.mk - rm desktop/source/app/opencl.cxx - sed -i '/"horst"/d' javaunohelper/test/com/sun/star/lib/uno/helper/UnoUrlTest.java - sed -i -e 's/^\(\s*\).*debug.*$/\1 true/' android/CustomTarget_lo_android.mk - echo "Typo" - sed -i -e 's/share\/share/share/g' android/source/build.gradle - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-ndk-toolchain-version=4.9 --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroid --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --disable-dbus --disable-gconf --disable-python --disable-gui --disable-gtk --disable-gstreamer-1.0" - popd - make liboSettings.gradle versionCode=10 build: - pushd ../../ - ln -s ../android/source/$$LOTarballs$$ external/tarballs - make - popd ndk: r10e - versionName: 5.2.3.1/01ec8f3 versionCode: 11 commit: 01ec8f357e651ca9656837b783cf7e6a32ee4d92 timeout: 14400 subdir: android/source gradle: - StrippedUI srclibs: - LOTarballs@7af09343d73215d3556898d70a35af94efd02cec rm: - setup_native/source/packinfo/DS_Store* - oox/qa/unit/data - writerperfect/qa/unit/data/writer/libmwaw/pass/WriterPlus prebuild: - pushd ../../ - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk - sed -i -e 's/rm /true /g' android/source/Makefile - sed -i -e 's/\.\/gradlew/true/g' android/source/Makefile - sed -i -e '/opencl.openclwrapper.hxx/d' -i -e 's/bOpenCL = .*;$/bOpenCL = false;/' cui/source/dialogs/about.cxx - sed -i -e '/desktop\/source\/app\/opencl/d' desktop/Library_sofficeapp.mk - rm desktop/source/app/opencl.cxx - sed -i '/"horst"/d' javaunohelper/test/com/sun/star/lib/uno/helper/UnoUrlTest.java - sed -i -e 's/^\(\s*\).*debug.*$/\1 true/' android/CustomTarget_lo_android.mk - echo "Typo" - sed -i -e 's/share\/share/share/g' android/source/build.gradle - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-ndk-toolchain-version=4.9 --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroidX86 --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --disable-dbus --disable-gconf --disable-python --disable-gui --disable-gtk --disable-gstreamer-1.0" - popd - make liboSettings.gradle versionCode=11 build: - pushd ../../ - ln -s ../android/source/$$LOTarballs$$ external/tarballs - make - popd ndk: r10e - versionName: 6.1.0.0.alpha0+/484d0ea842da versionCode: 14 commit: 484d0ea842da586a4cf51b6d11683b04f234474c timeout: 43200 subdir: android/source gradle: - StrippedUI srclibs: - LOTarballs@e356fc5381dd7aee3ffd47077c7527aa6a6fc0f8 rm: - setup_native/source/packinfo/DS_Store* - oox/qa/unit/data - writerperfect/qa/unit/data/writer/libmwaw/pass/WriterPlus - xmlsecurity/qa/unit/signing/data/random_seed - writerperfect/qa/unit/data/impress/libmwaw/pass/PowerPoint_Mac_2 - sw/qa/extras/uiwriter/data/* - sw/qa/extras/ooxmlexport/data/* - sw/qa/extras/rtfexport/data/* - sw/qa/extras/odfimport/data/* - sw/qa/extras/ooxmlimport/data/* - sw/qa/extras/ww8export/data/* - sc/qa/unit/data/* - testtools/source/cliversioning/version_libs/* - qadevOOo/testdocs/qadevlibs/*.jar - chart2/qa/extras/chart2dump/data/* - chart2/qa/extras/data/* - sd/qa/unit/data/* - sw/qa/extras/odfexport/data/* prebuild: - pushd ../../ - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk - sed -i -e 's/rm /true /g' android/source/Makefile - sed -i -e 's/\.\/gradlew/true/g' android/source/Makefile - sed -i -e '/opencl.openclwrapper.hxx/d' -i -e 's/bOpenCL = .*;$/bOpenCL = false;/' cui/source/dialogs/about.cxx - sed -i -e '/desktop\/source\/app\/opencl/d' desktop/Library_sofficeapp.mk - rm desktop/source/app/opencl.cxx - sed -i '/"horst"/d' javaunohelper/test/com/sun/star/lib/uno/helper/UnoUrlTest.java - sed -i -e 's/^\(\s*\).*debug.*$/\1 true/' android/CustomTarget_lo_android.mk - echo "Typo" - sed -i -e 's/share\/share/share/g' android/source/build.gradle - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroidX86 --disable-dconf --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --disable-dbus --disable-gconf --disable-python --disable-gui --disable-gtk --disable-gstreamer-1.0" - popd - mkdir -p ../../workdir/UnpackedTarball/owncloud_android_lib/build/outputs/aar - cd $_ - touch owncloud_android_lib-debug.aar owncloud_android_lib-release.aar - cd - - mkdir -p ../../instdir/program/classes/ - cd $_ - touch java_uno.jar juh.jar jurt.jar ridl.jar unoloader.jar unoil.jar - cd - - make liboSettings.gradle versionCode=14 scanignore: - workdir/UnpackedTarball/owncloud_android_lib/build/outputs/aar/owncloud_android_lib-release.aar - workdir/UnpackedTarball/owncloud_android_lib/build/outputs/aar/owncloud_android_lib-debug.aar - icon-themes/tango/res/*.png - icon-themes/galaxy/res/*.png - instdir/program/classes/unoloader.jar - instdir/program/classes/ridl.jar - instdir/program/classes/unoil.jar - instdir/program/classes/jurt.jar - instdir/program/classes/juh.jar - instdir/program/classes/java_uno.jar build: - echo 'gradle "$@"' > gradlew - chmod a+x gradlew - pushd ../../ - rm -r workdir - rm -r instdir - ln -s ../android/source/$$LOTarballs$$ external/tarballs - make - popd ndk: r16b - versionName: 6.1.0.0.alpha0+/484d0ea842da versionCode: 15 commit: 484d0ea842da586a4cf51b6d11683b04f234474c timeout: 43200 subdir: android/source gradle: - StrippedUI srclibs: - LOTarballs@e356fc5381dd7aee3ffd47077c7527aa6a6fc0f8 rm: - setup_native/source/packinfo/DS_Store* - oox/qa/unit/data - writerperfect/qa/unit/data/writer/libmwaw/pass/WriterPlus - xmlsecurity/qa/unit/signing/data/random_seed - writerperfect/qa/unit/data/impress/libmwaw/pass/PowerPoint_Mac_2 - sw/qa/extras/uiwriter/data/* - sw/qa/extras/ooxmlexport/data/* - sw/qa/extras/rtfexport/data/* - sw/qa/extras/odfimport/data/* - sw/qa/extras/ooxmlimport/data/* - sw/qa/extras/ww8export/data/* - sc/qa/unit/data/* - testtools/source/cliversioning/version_libs/* - qadevOOo/testdocs/qadevlibs/*.jar - chart2/qa/extras/chart2dump/data/* - chart2/qa/extras/data/* - sd/qa/unit/data/* - sw/qa/extras/odfexport/data/* prebuild: - pushd ../../ - sed -i -e 's/\/$(OOO_VENDOR)//g' android/Bootstrap/Makefile.shared - sed -i -e 's/test_fontconfig=yes/test_fontconfig=no/g' configure.ac - sed -i -e 's/test_freetype=yes/test_freetype=no/g' configure.ac - sed -i -e '/debug/d' android/CustomTarget_lo_android.mk - sed -i -e 's/rm /true /g' android/source/Makefile - sed -i -e 's/\.\/gradlew/true/g' android/source/Makefile - sed -i -e '/opencl.openclwrapper.hxx/d' -i -e 's/bOpenCL = .*;$/bOpenCL = false;/' cui/source/dialogs/about.cxx - sed -i -e '/desktop\/source\/app\/opencl/d' desktop/Library_sofficeapp.mk - rm desktop/source/app/opencl.cxx - sed -i '/"horst"/d' javaunohelper/test/com/sun/star/lib/uno/helper/UnoUrlTest.java - sed -i -e 's/^\(\s*\).*debug.*$/\1 true/' android/CustomTarget_lo_android.mk - echo "Typo" - sed -i -e 's/share\/share/share/g' android/source/build.gradle - ./autogen.sh --enable-release-build --with-vendor=F-Droid --with-android-package-name="org.documentfoundation.libreoffice" --enable-fetch-external=no --with-android-ndk=$$NDK$$ --with-android-sdk=$$SDK$$ --with-distro=LibreOfficeAndroid --disable-dconf --with-build-platform-configure-options="--with-system-jpeg=no --with-system-libxml=no --disable-dbus --disable-gconf --disable-python --disable-gui --disable-gtk --disable-gstreamer-1.0" - popd - mkdir -p ../../workdir/UnpackedTarball/owncloud_android_lib/build/outputs/aar - cd $_ - touch owncloud_android_lib-debug.aar owncloud_android_lib-release.aar - cd - - mkdir -p ../../instdir/program/classes/ - cd $_ - touch java_uno.jar juh.jar jurt.jar ridl.jar unoloader.jar unoil.jar - cd - - make liboSettings.gradle versionCode=15 scanignore: - workdir/UnpackedTarball/owncloud_android_lib/build/outputs/aar/owncloud_android_lib-release.aar - workdir/UnpackedTarball/owncloud_android_lib/build/outputs/aar/owncloud_android_lib-debug.aar - icon-themes/tango/res/*.png - icon-themes/galaxy/res/*.png - instdir/program/classes/unoloader.jar - instdir/program/classes/ridl.jar - instdir/program/classes/unoil.jar - instdir/program/classes/jurt.jar - instdir/program/classes/juh.jar - instdir/program/classes/java_uno.jar build: - echo 'gradle "$@"' > gradlew - chmod a+x gradlew - pushd ../../ - rm -r workdir - rm -r instdir - ln -s ../android/source/$$LOTarballs$$ external/tarballs - make - popd ndk: r16b MaintainerNotes: |- To fix crashes on Tegra2 device, we might need to `sed -i -e 's/mfpu=neon/mfpu=vfpv3-d16/g' configure.ac`, but this might have consequences for other devices. Since we use our own versioncodes, maybe have a third flavor? Two flavours of each version: X86 and not X86, hence two builds with different version codes for each underlying libreoffice version. The builds only differ in a command line flag to autogen.sh. Compilation success is quite sensitive to the commit used in my experience. It's probably best to check Google Play and note the commit hash used in the version number. Other tagged versions may fail. The cd/mkdir/touch commands near the end of the prebuild are to enable fdroid to run the project clean command, which expects these dependencies. The last line sets the version code. Make sure this is correct (i.e. matches what Google Play says). The version needs to be in the format a.b.c.d/. Crucially, without the right portion of the commit hash, it will fail at the end of the build with "unexpected version/version code". In the build section, the first thing done is creating a gradlew symlink for the android/source directory. This is because makefiles generated elsewhere during the build for the owncloud external use the android/source/gradlew as the build tool for owncloud. Then the touch-ed files from the prebuild are removed before making the libreoffice core. Some build scripts use python2 -- make sure your system does as default. The libreoffice build scripts spit out warning about the NDK version, so keep an eye out to make sure you have the right one. It's usually pretty recent. LOTarballs: first compile with --enable-fetch-external=yes and remove the line from the build commands that links workdir/external to LOTarballs. After the build succeeds look in external/tarballs and see which archives have a new version or commit hash. For any that have changed, first check they do not contain precompiled code (if so remove it), then copy them to a clone of the LOTarballs respository. The following find command may be useful for spotting binaries: find -type f -not -empty -exec sh -c "file -i '{}' | grep -q 'charset=binary'" \; -print Though you may want to filter png, jpg, gif, &c. and ignore empty files. Files in external/tarballs but not already in LOTarballs may not be needed. Try without them first. Once the right contents of LOTarballs has been figured out, don't forget to set --enable-fetch-external=no and add back the symlink command to LOTarballs (and update the LOTarballs commit hash to the new one). ArchivePolicy: 4 versions AutoUpdateMode: None UpdateCheckMode: None CurrentVersion: 5.2.3.1/01ec8f3 CurrentVersionCode: 11