libreoffice-online/android
Weblate d0d3ce6703 update translations
LibreOffice Online/android-app (Danish)
Currently translated at 100.0% (102 of 102 strings)

Change-Id: I5983a2cdddbbb2b67ebc0b5b7e202861e984a89b

update translations

LibreOffice Online/android-lib (Danish)
Currently translated at 100.0% (13 of 13 strings)

Change-Id: Ifd4c69312f949ccfc39d016f46ca936ecd7817ba

update translations

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

Change-Id: I0050a37ac2cd97632de3e4963938c20321be3dcc

update translations

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

Change-Id: I182e8f90e1d017debb37955dbd503901ce5014c5

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 65.6% (67 of 102 strings)

Change-Id: Ie3d81e1f9ae8e6c03db183f1bb858363a089a126

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 65.6% (67 of 102 strings)

Change-Id: Ibd69d877a44ac0e393da7dcc7c84d8ede13d43f9

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 58.8% (60 of 102 strings)

Change-Id: I7d9cbb1031288c9d642b0fb7790408cee2003595

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 58.8% (60 of 102 strings)

Change-Id: I83dbc5fbeb2fee018298dad702e5145ee598f68a

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 57.8% (59 of 102 strings)

Change-Id: Ifd294c592ca4b68a99621fb5a81837d3720ed50e

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 57.8% (59 of 102 strings)

Change-Id: I9f1bd0e072f851ca5e49122e4d9b39fe74dafbda

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 53.9% (55 of 102 strings)

Change-Id: I9887dda9ebd8e808824238e13abfede182560f81

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 53.9% (55 of 102 strings)

Change-Id: Id92b0ff6075be0ab11a41cd3e341b6016c1c1cb6

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 52.9% (54 of 102 strings)

Change-Id: I5c1d38ffd5e6b8de21833be4196da4a41b4068b1

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 52.9% (54 of 102 strings)

Change-Id: Id15460c60cfe3189b2828b624b5264ba615bf4cb

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 49.0% (50 of 102 strings)

Change-Id: I033216c4b00c864c95f1b3ad46434e784127676d

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 49.0% (50 of 102 strings)

Change-Id: Ic37005337167957356790e61ec86d15e9c10d1d9

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 46.0% (47 of 102 strings)

Change-Id: I66aead7d369a7e3b3525b486eb3bea82d315f731

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 46.0% (47 of 102 strings)

Change-Id: Ib381c65bffe625314b03262c81d351b6434087e5

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 45.0% (46 of 102 strings)

Change-Id: I868f7a693672fdd5a5d8919e26a7e5538bc95188

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 45.0% (46 of 102 strings)

Change-Id: Ia4541ee4e600c721ca0ac51f6630f0e6b0bd8dfd

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 44.1% (45 of 102 strings)

Change-Id: I7e8385aafc50dada0e58dbc3394f3436a1f7225e

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 44.1% (45 of 102 strings)

Change-Id: If89647b675fabee6ef78a8cbf2c7b32df4b51486

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 11.7% (12 of 102 strings)

Change-Id: If14650d6b26f49a45c4659231d15dea1de2e7ea8

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 11.7% (12 of 102 strings)

Change-Id: I38528f6c0f01fd670738c63fd65199be5aaa5213

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 7.8% (8 of 102 strings)

Change-Id: Icc74f9c8bb89c1d09378a9ab718018dde97915de

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 7.8% (8 of 102 strings)

Change-Id: I7f3f7b4f7a7efcaee903599d155133f7785d3ebc

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 5.8% (6 of 102 strings)

Change-Id: Ia7c69a753fb5aecfe4cb4eb7a0ff3d17a8e54732

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 5.8% (6 of 102 strings)

Change-Id: Icc7fd07b2e59629a6ed1100fb674cfe251e0618a

update translations

LibreOffice Online/android-app (Danish)
Currently translated at 4.9% (5 of 102 strings)

Change-Id: If8ae789c83d4fba08caedfb48887f261059ea125

update translations

LibreOffice Online/loleaflet-help (Danish)
Currently translated at 94.7% (394 of 416 strings)

Change-Id: I0eaf1648ee8de075033b19d95d0ec4d0c07a88c1

update translations

LibreOffice Online/loleaflet-help (Danish)
Currently translated at 81.7% (340 of 416 strings)

Change-Id: I0e467da03767eeb2503e21ef0e79255aab6071af

update translations

LibreOffice Online/loleaflet-help (Danish)
Currently translated at 75.7% (315 of 416 strings)

Change-Id: Idbefff04614d5c9122b18fa3eee92b0a077e6d14

update translations

LibreOffice Online/loleaflet-help (Danish)
Currently translated at 75.4% (314 of 416 strings)

Change-Id: I9c4eb0975f05438bb50dab7b30453f5b8d9a9caa

update translations

LibreOffice Online/loleaflet-help (Danish)
Currently translated at 75.2% (313 of 416 strings)

Change-Id: I2c97feb61b1264288ef91254a1ad11fc162b05c7

update translations

LibreOffice Online/loleaflet-help (Danish)
Currently translated at 68.2% (284 of 416 strings)

Change-Id: I2e053ee148211a6e10c689ef5250adfb09e5389c

update translations

LibreOffice Online/loleaflet-help (Danish)
Currently translated at 60.3% (251 of 416 strings)

Change-Id: I8c7c9fb0af8a879efdf577b02dc66f8e8ce095a3

update translations

LibreOffice Online/android-app (Afrikaans)
Currently translated at 27.4% (28 of 102 strings)

Change-Id: I58a79b136cc440137769e8aa97366e046c142324

update translations

LibreOffice Online/android-lib (Afrikaans)
Currently translated at 100.0% (13 of 13 strings)

Change-Id: I84fecac811f3cd24613b7d00fa8a5822df94c305

update translations

LibreOffice Online/android-lib (Swedish)
Currently translated at 100.0% (13 of 13 strings)

Change-Id: Ie8be29f76fbb63ac789c093070b6e7648499d2cf

update translations

LibreOffice Online/ios (Danish)
Currently translated at 60.0% (3 of 5 strings)

Change-Id: I77dbbb9862fafaa3ace39ddf10f318d77ee519b8

update translations

LibreOffice Online/loleaflet-ui (Swedish)
Currently translated at 100.0% (344 of 344 strings)

Change-Id: I4ce8a7e1005f2a3a5af274c148442ad679c031e1

update translations

LibreOffice Online/loleaflet-ui (Korean)
Currently translated at 80.5% (277 of 344 strings)

Change-Id: Ib57906e9875d21c71a8d98edfd532763f9667eaf

update translations

LibreOffice Online/loleaflet-ui (Danish)
Currently translated at 100.0% (344 of 344 strings)

Change-Id: I97361fe18e1a882cc6b4172cb4c3708c7e242e2d
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/101663
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-09-02 16:14:30 +02:00
..
app update translations 2020-09-02 16:14:30 +02:00
gradle/wrapper android: add missing gradle-wrapper.jar 2020-04-20 21:47:26 +02:00
lib update translations 2020-09-02 16:14:30 +02:00
templates Try to delete language information from templates... 2020-03-14 22:29:17 +01:00
.gitignore android: clean debug and release assets 2020-06-11 21:34:21 +02:00
build.gradle.in android: fix build when changing the build output directory 2020-08-12 13:10:02 +02:00
gradle.properties
gradlew
gradlew.bat
README android: Update the location of the .so files for debugging in the README. 2020-08-06 15:44:01 +02:00
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.10.1 branch
  git checkout -b poco-1.10.1 origin/poco-1.10.1

  # configure
  ./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT

  # 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.10.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:
  ./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT

  # 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

* Poco for x86 (if you want to add the support for that into the APK too):

  # checkout the 1.10.1 in yet another location
  git clone https://github.com/pocoproject/poco poco-android-x86
  cd poco-android-x86
  git checkout -b poco-1.10.1 origin/poco-1.10.1

  # configure
  ./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT

  # build
  PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=x86 CC=i686-linux-android21-clang CXX=i686-linux-android21-clang++ SYSLIBS=-static-libstdc++

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

* Poco for x86_64 (if you want to add the support for that into the APK too):

  # checkout the 1.10.1 in yet another location
  git clone https://github.com/pocoproject/poco poco-android-x86-64
  cd poco-android-x86-64
  git checkout -b poco-1.10.1 origin/poco-1.10.1

  # and apply the following patch:
  diff --git a/build/config/Android b/build/config/Android
  index 9227a3352..1abf6df7c 100644
  --- a/build/config/Android
  +++ b/build/config/Android
  @@ -25,10 +25,14 @@ ifeq ($(ANDROID_ABI),x86)
   TOOL      = i686-linux-android
   ARCHFLAGS = -march=i686 -msse3 -mstackrealign -mfpmath=sse
   else
  +ifeq ($(ANDROID_ABI),x86_64)
  +TOOL      = x86_64-linux-android
  +else
   $(error Invalid ABI specified in ANDROID_ABI)
   endif
   endif
   endif
  +endif
   
   #
   # Define Tools

  # configure
  ./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT

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

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

* 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/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/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/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