libreoffice-online/android
Weblate 98237bc43d update translations
LibreOffice Online/android-lib (Icelandic)
Currently translated at 100.0% (12 of 12 strings)

Change-Id: I183fcaf2de50e621f187208fb454fb6d855e95ee

update translations

LibreOffice Online/ios (Icelandic)
Currently translated at 100.0% (5 of 5 strings)

Change-Id: I842ec844671c654ebce260340583dba212378899

update translations

LibreOffice Online/android-app (Icelandic)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I628da1a1dfb3184fcb135e17fef5a1c57402d959

update translations

LibreOffice Online/loleaflet-ui (Icelandic)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: Iea245a9dd18333e1290264d9df089585580c386d

update translations

LibreOffice Online/android-app (Greek)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I22c7c03799af6c1d28906cb48e5221b7211b7c33

update translations

LibreOffice Online/android-app (Lower Sorbian)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Ib7ff420c6d2747f4f6a5b0be887c1c4ac643b7ed

update translations

LibreOffice Online/android-app (Upper Sorbian)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Ib5fbefab251a3c97b324de9c14da3f9d531f7c98

update translations

LibreOffice Online/android-app (Basque)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I6e414a613134e9d639424c7fd781487822552a9b

update translations

LibreOffice Online/android-app (Portuguese (Brazil))
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I958890da36d7daccdb81afdf67076b4f85992890

update translations

LibreOffice Online/android-app (Portuguese)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I21c82208e9fae9be79cfce4f9bb1a655a0290389

update translations

LibreOffice Online/android-app (Polish)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I0bceafa6cf47f23cb1e301eec6bf86725f05cf29

update translations

LibreOffice Online/android-app (Asturian)
Currently translated at 72.5% (74 of 102 strings)

Change-Id: I7c7ba01c9e7a44261db865541977215ff856317e

update translations

LibreOffice Online/android-app (Catalan)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I242ae9d6556882947dfd3d65bb6d2398126ebabd

update translations

LibreOffice Online/android-app (Spanish)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I4d179518ce371497bcf9b44f77f834b429aecd23

update translations

LibreOffice Online/android-app (Welsh)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Icfa439045af90265b7d6f57617b35cecdc1e6f8a

update translations

LibreOffice Online/android-app (German)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I39087e675a0f0984056725a21dc849dbdeb1b3a6

update translations

LibreOffice Online/android-app (Hungarian)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Ic857cee0d06ce98eba66de7d4bebbc900339cafb

update translations

LibreOffice Online/android-app (Bulgarian)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I4e22558741170cad78fedb6bcba4837d5cc80637

update translations

LibreOffice Online/android-app (Greek)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Ib6cd6194799259fc941cbdb41cc0a9d64c6c872a

update translations

LibreOffice Online/android-app (Basque)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Ia23d8f5357f352fc0ac80dc0a489af31ccd81acd

update translations

LibreOffice Online/android-app (Dutch)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I748644b1afcc33fd41a96b63dbd84e947a805bba

update translations

LibreOffice Online/android-app (Polish)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Ib3a18ff8c0017ae754320d01ac9a674afee46e8b

update translations

LibreOffice Online/android-app (Portuguese)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I3f1fab70021814bcdf3f7ef1a678bfe82ffb1958

update translations

LibreOffice Online/android-app (Asturian)
Currently translated at 71.6% (73 of 102 strings)

Change-Id: Iddf1d3678d9586c6953c7b677ad2a3be1332fa35

update translations

LibreOffice Online/android-app (German)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I1ff14c2f83340a70b346d16376c8bb35a42d0124

update translations

LibreOffice Online/android-app (Catalan)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I419daea6e8d96dc9b1093017aaa56bc118de72bf

update translations

LibreOffice Online/android-app (Hungarian)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I47fea7bae2faa4b3937ffd674b10ea87a4119b04

update translations

LibreOffice Online/android-app (Spanish)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: Ib18428eb5d6438114f4efb7cb2a99112f308d917

update translations

LibreOffice Online/ios (Portuguese)
Currently translated at 100.0% (5 of 5 strings)

Change-Id: Iabb761200c1d076acb766c0e64c90983e69df768

update translations

LibreOffice Online/ios (Polish)
Currently translated at 100.0% (5 of 5 strings)

Change-Id: Iaa20cf5d8a7f12c15078200c4fa4eeedf87e895b

update translations

LibreOffice Online/loleaflet-help (Upper Sorbian)
Currently translated at 64.2% (267 of 416 strings)

Change-Id: I0b850ce59c707af632725ce842af166e37cdff68

update translations

LibreOffice Online/loleaflet-ui (French)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: Ia4df2e12c622df89e92dce9801f2f9498c1c49f7

update translations

LibreOffice Online/loleaflet-ui (Upper Sorbian)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I4a149738e8f392c04c039cc870d9f182f8dbccf4

update translations

LibreOffice Online/loleaflet-ui (Lower Sorbian)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I5cbb0628965332c2614dd7ec2ad0d52faf570c88

update translations

LibreOffice Online/loleaflet-help (Dutch)
Currently translated at 57.9% (241 of 416 strings)

Change-Id: Ia811db8f83c6423e96e30a90b0308ece8b6b0b52

update translations

LibreOffice Online/loleaflet-ui (Dutch)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: Ie72db2ad5ba8448c1eba31d29b978b8b8aba4da2

update translations

LibreOffice Online/loleaflet-ui (German)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I46d055537c827b0697ee2728bb90863dfb664214

update translations

LibreOffice Online/loleaflet-help (Portuguese)
Currently translated at 55.3% (230 of 416 strings)

Change-Id: I715b89f8e2bcdd5d693556770b5b1ccb1df67359

update translations

LibreOffice Online/loleaflet-ui (Portuguese (Brazil))
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I0b5c69af05407596326c8b9a739d8ce655257d2e

update translations

LibreOffice Online/loleaflet-ui (Portuguese)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I8f43f3df033ce984795360975c83bd95de9fad63

update translations

LibreOffice Online/loleaflet-help (Czech)
Currently translated at 100.0% (416 of 416 strings)

Change-Id: Ia4637d89b0a39b9e212bc9bf759e6e99562b551b

update translations

LibreOffice Online/loleaflet-ui (Welsh)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I2094e5bb5f8597c3186418d00f3e36c2c623e4f5

update translations

LibreOffice Online/loleaflet-ui (Czech)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I48962d4e085756706d85e91559bede029dd8813d

update translations

LibreOffice Online/loleaflet-ui (Polish)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I112820b692071456ddcf66f602d52bb6902a3316

update translations

LibreOffice Online/loleaflet-ui (Spanish)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I74c18aa65afa7aa0fab598e844793b3430e64726

update translations

LibreOffice Online/loleaflet-ui (Catalan)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: Ic4ca5182c3b9a218cc5a11e37a0a7e90e24cd9cb

update translations

LibreOffice Online/loleaflet-ui (Bulgarian)
Currently translated at 99.7% (298 of 299 strings)

Change-Id: I504aac13cace375e40673baa15afe159fdc4898e

update translations

LibreOffice Online/loleaflet-ui (Basque)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I1de3dffa8d18c6392f0420055c5bb76ab28277e9

update translations

LibreOffice Online/loleaflet-ui (Greek)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I489e92c306a83c124db4e186113dee3589d4df91

update translations

LibreOffice Online/loleaflet-ui (Hungarian)
Currently translated at 100.0% (299 of 299 strings)

Change-Id: I9081b02dcde7207e1f0769ea7d2aa1334995a4e7
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92879
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-06 13:44:09 +02:00
..
app update translations 2020-05-06 13:44:09 +02:00
gradle/wrapper
lib update translations 2020-05-06 13:44:09 +02:00
templates
.gitignore
build.gradle.in
gradle.properties
gradlew
gradlew.bat
README
settings.gradle

The development of this Android app has to be done on Linux, it's currently not possible to
build the native parts on Windows.

* Compile LibreOffice master for Android.

  Do this in the folder where you cloned the LibreOffice core (e.g master-android).

  Create an autogen.input file:

      --build=x86_64-unknown-linux-gnu
      --with-android-ndk=/home/$USER/Android/Sdk/ndk-bundle
      --with-android-sdk=/home/$USER/Android/Sdk
      --with-distro=LibreOfficeAndroid
      --enable-sal-log

  Run ./autogen.sh && make

* Build the POCO for Android

  # clone the poco repository in the same folder where LibreOffice core and online folders are placed.
  git clone https://github.com/pocoproject/poco poco-android
  cd poco-android

  # use the 1.9.1 branch
  git checkout -b poco-1.9.1 origin/poco-1.9.1

  # configure
  ./configure --config=Android --no-samples --no-tests --minimal

  # make it
  PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=armeabi-v7a CC=armv7a-linux-androideabi21-clang CXX=armv7a-linux-androideabi21-clang++ SYSLIBS=-static-libstdc++

  # install it to /opt/poco-android
  PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=armeabi-v7a CC=armv7a-linux-androideabi21-clang CXX=armv7a-linux-androideabi21-clang++ SYSLIBS=-static-libstdc++ install INSTALLDIR=/opt/poco-android

* 64bit POCO for Android

  # checkout the 1.9.1 in a different location and apply the following patch:
  --- a/build/config/Android
  +++ b/build/config/Android
  @@ -21,6 +21,11 @@ TOOL      = arm-linux-androideabi
   ARCHFLAGS = -march=armv7-a -mfloat-abi=softfp
   LINKFLAGS = -Wl,--fix-cortex-a8
   else
  +ifeq ($(ANDROID_ABI),arm64-v8a)
  +TOOL      = aarch64-linux-android
  +#ARCHFLAGS = -march=armv7-a -mfloat-abi=softfp
  +#LINKFLAGS = -Wl,--fix-cortex-a8
  +else
   ifeq ($(ANDROID_ABI),x86)
   TOOL      = i686-linux-android
   ARCHFLAGS = -march=i686 -msse3 -mstackrealign -mfpmath=sse
  @@ -29,6 +34,7 @@ $(error Invalid ABI specified in ANDROID_ABI)
   endif
   endif
   endif
  +endif

   #
   # Define Tools

  # configure as above and make it:
  PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=arm64-v8a CC=aarch64-linux-android21-clang CXX=aarch64-linux-android21-clang++ SYSLIBS=-static-libstdc++

  # install
  PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=arm64-v8a CC=aarch64-linux-android21-clang CXX=aarch64-linux-android21-clang++ SYSLIBS=-static-libstdc++ install INSTALLDIR=/opt/poco-android-64bit

* Configure the online.git (eg. in online-android folder)

  Don't forget to change --with-lo-builddir in the following:

  ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-androidapp --with-lo-builddir=/local/libreoffice/master-android --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android/lib --disable-setcap --enable-silent-rules --enable-debug

* Build the JavaScript, HTML and CSS files also in the online-android folder

  # just run 'make'
  make

* Build the actual app

  + Start Android Studio
  + Open this 'android' subdir as a project
  + Build from Android Studio (Build -> Make Project)

Or

  + command line:  ./gradlew build

== Building 32bit + 64bit combined .apk ==

  + you need to build both a 32bit (armeabi-v7a) and 64bit (arm64-v8a) core
  + you need to build both a 32bit and 64bit POCO
  + and then provide paths to both to the ./configure, separated by a colon ':',
    like:

    --with-lo-builddir=/local/libreoffice/master-android-release:/local/libreoffice/master-android-release-64bit \
    --with-poco-includes=/opt/poco-android/include:/opt/poco-android-64bit/include \
    --with-poco-libs=/opt/poco-android/lib:/opt/poco-android-64bit/lib \

== Debugging ==

To debug the native code in Android Studio, you need the debugging symbols and
to setup lldb to actually read & use them.

* Add debugging symbols for the modules you are interested in

  To autogen.input, add something like:

    --enable-symbols="vcl/ desktop/ sal/ svx/ framework/ sfx2/ tools/ cppu/ cppuhelper/ filter/ comphelper/ Library_sw Library_swd Library_swui"

  clean the appropriate modules, like

    make vcl.clean desktop.clean sal.clean svx.clean framework.clean sfx2.clean tools.clean cppu.clean cppuhelper.clean filter.clean comphelper.clean sw.clean

  and rebuild using 'make'.

* Add android/source/obj/local/armeabi-v7a from core.git as a Symbol Directory

  In Android Studio, choose Run -> Debug... -> Edit Configurations...

  There go to the Android App -> app, choose the Debugger tab, and:

  Debug type: Auto (or Dual)

  Symbol Directories: here add the full path, like

    /local/libreoffice/master-android/android/source/obj/local/armeabi-v7a

  This path contains the non-stripped version of the liblo-native-code.so, and
  the debugger will read the symbols from that one (even if the APK contains
  the stripped version). *NB* ensure that this is before any internal source
  directories - since the internal source contains stripped native code.

  [Alternatively you can add the following to your ~/.lldbinit instead:

    settings set target.inline-breakpoint-strategy always
    settings append target.exec-search-paths /local/libreoffice/master-android/android/source/obj/local/armeabi-v7a
  ]

* To use pretty printers for types like OUString, add the following to your
  ~/.lldbinit:

  command script import '/local/libreoffice/master-android/solenv/lldb/libreoffice/LO.py'

From now on, you will be able to debug directly in the Android Studio
debugger.  Happy debugging!

Note: to re-build your app with a newly compiled libnative-lo code - it is

== Tip: How to speed up your core.git build ==

If you use icecream for parallel building, you can use it for
cross-compilation too.

  # first generate a tarball with the toolchain (once)
  icecc-create-env ~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang ~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++

And add it and the paths to the compiler as the first things to the
autogen.input:

  CC=icecc [here copy what the output of ./autogen.sh without icecream said for C compiler]
  CXX=icecc [here copy what the output of ./autogen.sh without icecream said for C++ compiler]
  ICECC_VERSION=/path/to/the/tarball/generated/above/955ceb546ceb7a5715bf0223ddd788fe.tar.gz
  --with-parallelism=[amount of cpu threads in your icecream farm]
  --enable-icecream
  [...the original autogen.input...]

So the result will look something like this:

  CC=icecc /home/$USER/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wl,--fix-cortex-a8 -gcc-toolchain /home/$USER/Android/Sdk/ndk-bundle/to>
  CXX=icecc /home/$USER/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wl,--fix-cortex-a8 -gcc-toolchain /home/$USER/Android/Sdk/ndk-bundle>
  ICECC_VERSION=/local/libreoffice/android/955ceb546ceb7a5715bf0223ddd788fe.tar.gz
  --with-parallelism=25
  --enable-icecream
  --build=x86_64-unknown-linux-gnu
  --with-android-ndk=/home/$USER/Android/Sdk/ndk-bundle
  --with-android-sdk=/home/$USER/Android/Sdk
  --with-distro=LibreOfficeAndroid
  --enable-sal-log