cb51332587
LibreOffice Online/ios (Chinese (Traditional)) Currently translated at 60.0% (3 of 5 strings) Change-Id: I6847e097cfe863027230199ea19d7f1903c56d54 update translations LibreOffice Online/loleaflet-ui (Chinese (Traditional)) Currently translated at 100.0% (299 of 299 strings) Change-Id: Ibb382a23d555dc6a2f667c849afdb9bc2c7ad383 update translations LibreOffice Online/loleaflet-help (Catalan) Currently translated at 88.0% (366 of 416 strings) Change-Id: I915ac90f007f76faeb64213230cc474815b57876 update translations LibreOffice Online/android-app (Russian) Currently translated at 100.0% (102 of 102 strings) Change-Id: Ia727ebd5939f337be686f32e11561d5fa2951d2b update translations LibreOffice Online/android-app (French) Currently translated at 100.0% (102 of 102 strings) Change-Id: I92ec0af7327c811305d9cb52979059a7677cfc46 update translations LibreOffice Online/android-app (Swedish) Currently translated at 100.0% (102 of 102 strings) Change-Id: I976874b6a0a79a033a71d2eedd0ca458649e89a0 update translations LibreOffice Online/android-app (Chinese (Simplified)) Currently translated at 98.0% (100 of 102 strings) Change-Id: I37ec240ebc2099aa624f7a3d4b4dc94bfe31ad32 update translations LibreOffice Online/android-lib (Swedish) Currently translated at 100.0% (12 of 12 strings) Change-Id: Iee6e4f67a9d47f134e9e45438dba8e277f4cfe26 update translations LibreOffice Online/ios (Swedish) Currently translated at 100.0% (5 of 5 strings) Change-Id: I72d9cd5f07a81ee301f5e0f8629b80932b241d8b update translations LibreOffice Online/loleaflet-help (Swedish) Currently translated at 47.6% (198 of 416 strings) Change-Id: I29358e1b37c663903e7b9cdd44e72e3f1729f73e update translations LibreOffice Online/loleaflet-ui (Chinese (Simplified)) Currently translated at 97.3% (291 of 299 strings) Change-Id: I49d01411ef7bcf6b9e6ef8cd86988934b86757d7 update translations LibreOffice Online/loleaflet-ui (Swedish) Currently translated at 100.0% (299 of 299 strings) Change-Id: If95f6b50651a1c62824c1a69afe08539389bd3e0 update translations LibreOffice Online/loleaflet-help (Turkish) Currently translated at 59.9% (249 of 416 strings) Change-Id: I8feab13d589621fdb398ab01c86d216d6c280e4a update translations LibreOffice Online/loleaflet-ui (Turkish) Currently translated at 100.0% (299 of 299 strings) Change-Id: Ie888e0387fdec8698359915cef5fa1e7463b5949 update translations LibreOffice Online/android-app (Slovak) Currently translated at 100.0% (102 of 102 strings) Change-Id: Id4ca86e59776731788903e0b4958e6c788a067ce update translations LibreOffice Online/loleaflet-help (Turkish) Currently translated at 59.6% (248 of 416 strings) Change-Id: I202c93bdad3774c93c090f9d2f9183b447975184 update translations LibreOffice Online/loleaflet-help (Slovak) Currently translated at 100.0% (416 of 416 strings) Change-Id: I29804b491b185a852b72465ab551e1b5f330840a update translations LibreOffice Online/loleaflet-ui (Slovak) Currently translated at 100.0% (299 of 299 strings) Change-Id: I99b817a5f6450c089c675dc99915b1524bfda635 update translations LibreOffice Online/loleaflet-help (Turkish) Currently translated at 58.9% (245 of 416 strings) Change-Id: Iab1a57d59fec1f850ae848664d9906819d01f21c update translations LibreOffice Online/loleaflet-help (Catalan) Currently translated at 87.7% (365 of 416 strings) Change-Id: Ibf128dd5c824bc10194e4a3ac1b0295be603b781 update translations LibreOffice Online/loleaflet-help (Asturian) Currently translated at 9.6% (40 of 416 strings) Change-Id: I9f24d4b34ff835899a7c3281fb520a853b38803a update translations LibreOffice Online/loleaflet-help (Afrikaans) Currently translated at 53.4% (222 of 416 strings) Change-Id: I154d5dc548d85f1c7ee909249696ffb8219f9e5e update translations LibreOffice Online/loleaflet-ui (Asturian) Currently translated at 40.5% (121 of 299 strings) Change-Id: Id80c147ea8656b72b54129a932ca581ac16d4013 update translations LibreOffice Online/loleaflet-help (Catalan) Currently translated at 87.5% (364 of 416 strings) Change-Id: I596a5e50f7b8bb44d7557b2e7916d2f1882c1885 update translations LibreOffice Online/loleaflet-help (Afrikaans) Currently translated at 50.2% (209 of 416 strings) Change-Id: I626a718cffb35c9fa9974b7b09b0569f902ff49f update translations LibreOffice Online/loleaflet-help (Turkish) Currently translated at 58.7% (244 of 416 strings) Change-Id: Ibacea52dd3e147fe08c972eeac919277f5bc2d65 update translations LibreOffice Online/android-app (Bulgarian) Currently translated at 100.0% (102 of 102 strings) Change-Id: I2692c03bc48f59d47bf368e730cb5868f17ad245 update translations LibreOffice Online/android-lib (Turkish) Currently translated at 100.0% (12 of 12 strings) Change-Id: I1463944f6af77ee34c52fe8d59fe121501667b69 update translations LibreOffice Online/ios (Turkish) Currently translated at 100.0% (5 of 5 strings) Change-Id: I0d16f08359633a0eed2a2ebd0e4c877d02f31d2a update translations LibreOffice Online/loleaflet-help (Turkish) Currently translated at 57.9% (241 of 416 strings) Change-Id: I52b9cf006759fd76e3c06788df43ac0fbb6b37c5 update translations LibreOffice Online/loleaflet-ui (Turkish) Currently translated at 100.0% (299 of 299 strings) Change-Id: Ie778af32815fe05664306ed877cc13cd210493d2 update translations LibreOffice Online/loleaflet-help (Catalan) Currently translated at 86.1% (358 of 416 strings) Change-Id: I1269480dcb1f314e47d41a1507431e41e8080daf update translations LibreOffice Online/android-app (Chinese (Simplified)) Currently translated at 98.0% (100 of 102 strings) Change-Id: I1eb35b456ca82529aec11cbc68d99b07f6ea219c update translations LibreOffice Online/android-lib (Chinese (Simplified)) Currently translated at 100.0% (12 of 12 strings) Change-Id: I048484fd9e5356aaac0644c1e78b8bbbb649e128 update translations LibreOffice Online/ios (Chinese (Simplified)) Currently translated at 100.0% (5 of 5 strings) Change-Id: Ifae00f1ea7e7d1904bfaebc7852bc7dcb6fbffd8 update translations LibreOffice Online/loleaflet-ui (Chinese (Simplified)) Currently translated at 84.9% (254 of 299 strings) Change-Id: I852c5f36140474efa3c17385aacccc5a3ae2eb26 update translations LibreOffice Online/android-app (Turkish) Currently translated at 100.0% (102 of 102 strings) Change-Id: Icba4193f3b2598039ea3d0fa89350d88652d3a70 update translations LibreOffice Online/ios (Afrikaans) Currently translated at 100.0% (5 of 5 strings) Change-Id: Ib7587f244d71fa0e2f095e9b7321b81e35b44f36 update translations LibreOffice Online/loleaflet-help (Catalan) Currently translated at 85.8% (357 of 416 strings) Change-Id: Ie4736af55bafd769b9abe8b72fddca4b5f379ba7 update translations LibreOffice Online/loleaflet-help (Afrikaans) Currently translated at 47.4% (197 of 416 strings) Change-Id: I591b23750937082dc15792d8ff1db949998905cb update translations LibreOffice Online/loleaflet-help (Afrikaans) Currently translated at 30.3% (126 of 416 strings) Change-Id: Iecfa44aa565582ee862a726dcc5e9c3ab751455d update translations LibreOffice Online/loleaflet-help (Catalan) Currently translated at 85.1% (354 of 416 strings) Change-Id: I6470bfc966ad0e52de48ce809c4619f713c9907e update translations LibreOffice Online/android-app (Italian) Currently translated at 100.0% (102 of 102 strings) Change-Id: I94834e9a7caf4a790e45cb295e44c1a284e2589b update translations LibreOffice Online/loleaflet-ui (Italian) Currently translated at 100.0% (299 of 299 strings) Change-Id: I9029c5236f3edaf674ffb2eacf08afa9b23fc12d update translations LibreOffice Online/android-app (Czech) Currently translated at 100.0% (102 of 102 strings) Change-Id: I3b70903d5f1bb51ed34d808b1d32e58d0d5b3b1d update translations LibreOffice Online/android-app (English (United Kingdom)) Currently translated at 100.0% (102 of 102 strings) Change-Id: If7eb7eb159c1dcfc3a9607094b20b469e65159c4 update translations LibreOffice Online/loleaflet-ui (English (United Kingdom)) Currently translated at 100.0% (299 of 299 strings) Change-Id: Idb217999d2f0469172ca3fcb5f38928bc1381fc1 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93596 Tested-by: Jenkins Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> |
||
---|---|---|
.. | ||
app | ||
gradle/wrapper | ||
lib | ||
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