9d03504bb4
LibreOffice Online/android-app (Asturian) Currently translated at 40.4% (40 of 99 strings) Change-Id: I9fd2ae82f6ecee154a9bc763faa19c292125b22e update translations LibreOffice Online/android-lib (Asturian) Currently translated at 33.3% (2 of 6 strings) Change-Id: I1b68ea3f3d8f6ac9cb03264163a8b37a3384e800 update translations LibreOffice Online/loleaflet-ui (Czech) Currently translated at 100.0% (283 of 283 strings) Change-Id: I5ce93c62dc9a1ed9faa6ee64a3eeb343af11a12f update translations LibreOffice Online/loleaflet-ui (Catalan) Currently translated at 98.2% (278 of 283 strings) Change-Id: Ib179c425a0677bbd8a2cba730d164813a789c13f update translations LibreOffice Online/loleaflet-ui (Asturian) Currently translated at 35.3% (100 of 283 strings) Change-Id: I4d661bddc7f59531cc6a497f5b66da3fd2164deb update translations LibreOffice Online/loleaflet-help (Indonesian) Currently translated at 49.8% (207 of 416 strings) Change-Id: I79c945beb07d0fb6414a031fbe077594dd0a02ab update translations LibreOffice Online/loleaflet-ui (Javanese) Currently translated at 22.6% (64 of 283 strings) Change-Id: Ia118f54cc0bbfbbe9747c3808c16915f054f5737 update translations LibreOffice Online/loleaflet-ui (Indonesian) Currently translated at 82.3% (233 of 283 strings) Change-Id: I97231b76fe918389b9e8f5faec156269f9cf4868 update translations LibreOffice Online/loleaflet-help (Indonesian) Currently translated at 47.8% (199 of 416 strings) Change-Id: Ibee86ecd69f3bcf88ae0ed0dea673e565f8e8840 update translations LibreOffice Online/loleaflet-help (French) Currently translated at 100.0% (416 of 416 strings) Change-Id: I442aecd944e86e35d566292f97704ad7b172a9b3 update translations LibreOffice Online/loleaflet-help (French) Currently translated at 83.2% (346 of 416 strings) Change-Id: Idb9845be3dc233655077e02cde04b1c165ca81c4 update translations LibreOffice Online/loleaflet-help (Basque) Currently translated at 100.0% (416 of 416 strings) Change-Id: I45b4a345dc68c61e927dcd4e0b8311d85b85e8e7 update translations LibreOffice Online/loleaflet-ui (Turkish) Currently translated at 96.8% (274 of 283 strings) Change-Id: Ia988ee2afa600a8e8cfa66f62c9045d896a080c4 update translations LibreOffice Online/loleaflet-help (Spanish) Currently translated at 100.0% (416 of 416 strings) Change-Id: I61b0c62c8c9b407cc737b767df577f6ed9efab02 update translations LibreOffice Online/loleaflet-help (Catalan) Currently translated at 66.3% (276 of 416 strings) Change-Id: I33d13be5e57c9436cf43c73cefee2d6a5d9e321d update translations LibreOffice Online/loleaflet-help (Basque) Currently translated at 95.9% (399 of 416 strings) Change-Id: I5a377ba38f4e48b8c7f6795d2efef6fd443abf4a update translations LibreOffice Online/loleaflet-help (Basque) Currently translated at 94.2% (392 of 416 strings) Change-Id: I5090d10613bf47a88640fa97d0a28ea4d6cd0cc1 update translations LibreOffice Online/loleaflet-help (Basque) Currently translated at 93.5% (389 of 416 strings) Change-Id: I50a1eea79349ea0e450019873e0f6142d762ef75 update translations LibreOffice Online/loleaflet-help (Spanish) Currently translated at 100.0% (416 of 416 strings) Change-Id: Icb5475f01e13cceb4fd6236f5066628974bf44c2 update translations LibreOffice Online/loleaflet-ui (Turkish) Currently translated at 96.5% (273 of 283 strings) Change-Id: I9c89e8b12456ce62a4114abdd3750ffbc9c07e62 update translations LibreOffice Online/loleaflet-help (Basque) Currently translated at 92.8% (386 of 416 strings) Change-Id: Ied93c05c9509a5323daf27d5f6b08f87a431d6fe update translations LibreOffice Online/loleaflet-ui (Lao) Currently translated at 11.0% (31 of 283 strings) Change-Id: I4fa0d3a2b27c31ed92b0bfd2dc9204c1591b92f1 update translations LibreOffice Online/loleaflet-help (French) Currently translated at 77.4% (322 of 416 strings) Change-Id: I474de495a80a1e1d11067c27a425375dcc1d597f update translations LibreOffice Online/loleaflet-help (Asturian) Currently translated at 8.9% (37 of 416 strings) Change-Id: I75dc905aa0c98097da6af4cd7ba345d97a6de89f update translations LibreOffice Online/loleaflet-ui (Asturian) Currently translated at 34.6% (98 of 283 strings) Change-Id: Ia8d5124dc9b2e5489700ff32849d7ae79d2f3f3f update translations LibreOffice Online/loleaflet-help (Basque) Currently translated at 90.9% (378 of 416 strings) Change-Id: Ica035cc78c210e50c9de79794c82a7bdb5345db7 update translations LibreOffice Online/ios (Dutch) Currently translated at 100.0% (4 of 4 strings) Change-Id: I97dbc48d922732a4997cf8e7b487915eb2b599f5 update translations LibreOffice Online/loleaflet-help (Dutch) Currently translated at 53.8% (224 of 416 strings) Change-Id: I48481c1b8e4f584d6b9bc3714ca2e9e4cffefe68 update translations LibreOffice Online/loleaflet-help (Spanish) Currently translated at 99.8% (415 of 416 strings) Change-Id: Ic47659bb1df7a528c7426cb08b48e54b103ef6b7 update translations LibreOffice Online/loleaflet-help (Asturian) Currently translated at 7.9% (33 of 416 strings) Change-Id: I0b4955f7b3cb0620437d1138aab75987555bda67 update translations LibreOffice Online/loleaflet-ui (Dutch) Currently translated at 100.0% (283 of 283 strings) Change-Id: Ic6f915b480471ba380679fd20a2d90947c3bad30 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/87059 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> |
||
---|---|---|
.. | ||
app | ||
lib | ||
templates | ||
.gitignore | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
Makefile.am | ||
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) == 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-buld 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