summaryrefslogtreecommitdiff
path: root/android
AgeCommit message (Collapse)Author
2019-07-09android: Allow using SDK and NDK directly from the Android Studio.Jan Holesovsky
Just specify: --with-android-ndk=$HOME/Android/Sdk/ndk-bundle --with-android-sdk=$HOME/Android/Sdk in your autogen.input, install the appropriate components via Android Studio and you are done. Includes support for NDK 19 and bumps the minSdkVersion to 16, because that's the lowest that the NDK 19 still supports. Change-Id: Ic99790b781b9017eb4e642380e230d6f7b49e9b7
2019-06-18android: Fix non-debug build.Jan Holesovsky
Change-Id: If8bb944417da9a0aa6343d7dc87e7a1931689f1f Reviewed-on: https://gerrit.libreoffice.org/74147 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2019-06-17Introduce --enable-android-editingStephan Bergmann
...to select the experimental ...Editing... Android build variant. (Ignored for non-Android builds, but using libo_FUZZ_ARG_ENABLE anyway, just in case.) Change-Id: I670925ff358039e38edc29db69f48a78d484f133 Reviewed-on: https://gerrit.libreoffice.org/65077 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/74148 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-06-06adjust path to generated apk to new defaultsChristian Lohmaier
current android-gradle plugin creates the apk in dimension/flavor/variant (whatever you want to call it) specific directory Change-Id: I5514fe53c5c8c556d194a0f06ad6167b0b1cc98e
2019-06-06android: bump gradle, gradle-plugin, support libary & target versionsChristian Lohmaier
Change-Id: I971f02c624a19ec58539738f5e736a986b5ba0d6
2019-06-05update references about selective debuginfo in android/READMELuboš Luňák
The second case is very likely mistaken though. Change-Id: I6bfc55800a6b26ce0ae6d3645e4179dc5f683205
2019-06-05android: fix ArrayIndexOutOfBounds on selecting 'Drawings' in ↵kaishu-sahu
DefaultFileFilter setting Change-Id: I5ed924d9d79db169b11a0561b89da9b57eb078d9 Reviewed-on: https://gerrit.libreoffice.org/66971 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-06-05android: Set the FONTCONFIG_FILE envvar to the fonts.conf (if exists).Jan Holesovsky
Change-Id: Ic9fd97a2ff8a6d96ffcc7ad300ef30201d786528 Reviewed-on: https://gerrit.libreoffice.org/67876 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2019-06-05android: Separate the Android-specific setup from the actual LOK init.Jan Holesovsky
Change-Id: I433376dfea0a43c63827ba15308a614f3466fb71 Reviewed-on: https://gerrit.libreoffice.org/67875 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2019-06-05android: Generate liblo-native-code.so so that it can be linked against.Jan Holesovsky
And used for LibreOfficeKit directly, without a JNI wrapper. Change-Id: If4231f53b579417b6c9c90b39541193bf2e8f27c Reviewed-on: https://gerrit.libreoffice.org/67874 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-06-05Export RTTI symbols from liblo-native-code.so, for binary UNO bridgeStephan Bergmann
This will become important when switching armeabi-v7a to libc++/libc++abi/libunwind (coming soon) which uses address instead of string comparison when checking for type equality, so that exceptions thrown from the binary UNO bridge will need to use the exact same RTTI objects as referenced from the compiled catch clauses. Change-Id: If8bcb39212b5f5e154aee215cb5f471fe2dc4a7b Reviewed-on: https://gerrit.libreoffice.org/64965 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-05Switch Android armeabi-v7a to libc++/libc++abi/libunwind tooStephan Bergmann
It had been left out in 4082a18406c18af7b4fcef7bd501c3679c3be56b "android: use unified headers and llvm-c++ STL (x86) with NDK 16" because "arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix that later". Making armeabi-v7a work with libc++ etc. required a number of changes, listed below, in this commit and in preceding ones. At least 32-bit x86 already worked with libc++ etc. prior to these changes in view mode, though it crashed in the experimental editing mode (enabled with strippedUIEditing in android/soruce/Makefile) as soon as one types in something, But it is not entirely clear to me why 32-bit x86 view mode didn't also fail similar to how I saw armeabi-v7a fail. (On 32-bit x86, these changes appear to neither improve nor worsen the current state, view mode still appears to work fine while editing still crashes upon typing anything. With these changes, editing mode on armeabi-v7a appears to work fine. But I tested armeabi-v7a only with a real device and 32-bit x86 only with an emulator, in case that might make a difference.) * Preceding <https://gerrit.libreoffice.org/#/c/64964/> "Move NSSLIBS to a more sensible place on the linker command line" plus this change's addition of -lunwind to the liblo-native-code.so linker command line make sure that liblo-native-code.so uses _Unwind_* functions from libunwind.a, instead of erroneously picking up the ones from libgcc.a that happen to be included in NSSLIB's nspr4 (-lgcc is automatically added to the end of the linker command line by the invoking compiler, that's how libgcc.a's _Unwind_* end up in NSSLIB's nspr4; it is neither clear to me why NSSLIB's nspr4, being a pure C library, uses _Unwind_* functions, nor why exception handling in liblo-native-code.so fails when using _Unwind_* functions from libgcc.a instead of from libunwind on armeabi-v7a, nor why that would work on 32-bit x86, but that's what I observed: ModuleManager::identify (framework/source/services/modulemanager.cxx) throws a css::lang::IllegalArgumentException, which calls __cxa_throw -> _Unwind_RaiseException, which ultimately lead to odd misbehavior and std::abort during stack unwinding when using _Unwind_RaiseException from libgcc.a instead of from libunwind). (There is no libunwind.* in android-ndk-r16b for 32-bit x86 at least, so is presumably using _Unwind_* functions from libgcc.a. It doesn't appear to make a difference if it indirectly uses those _Unwind_* functions from NSSLIB's nspr4, or directly from libgcc.a included in liblo-native-code.so if the $(if $(filter armeabi-v7a,$(ANDROID_APP_ABI)),-lunwind) had a ",-lgcc" else branch.) * Preceding <https://gerrit.libreoffice.org/#/c/64965/> "Export RTTI symbols from liblo-native-code.so, for binary UNO bridge" makes sure that excpetions thrown from the binary UNO bridge can be caught by compiled catch clauses. Not sure why the corresponding state of bridges/source/cpp_uno/gcc3_linux_intel shouldn't have run into the same issue. * Preceding <https://gerrit.libreoffice.org/#/c/64966/> "Adapt gcc3_linux_arm __cxa_exception to NDK 18 libc++abi" makes sure that our version of __cxa_exception matches the version from libc++abi. This is clearly not relevant for 32-bit x86. (The comment there android-ndk-r18b, but the additional member is already present in android-ndk-r16b/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.hpp, too.) The remainder of this change just drops old armeabi-v7a--specific workarounds that are no longer needed/no longer work. Change-Id: Ief4c2d562c5032abe6c3b94ca3b3394be6fcd4d3 Reviewed-on: https://gerrit.libreoffice.org/64973 Tested-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-05Move NSSLIBS to a more sensible place on the linker command lineStephan Bergmann
511ae02c6457e69cb6daab871acd9c3e7d64e2e3 "Android: Enable HAVE_FEATURE_NSS and package the NSS libraries with apk" had added them to WHOLELIBS probably just because that already had the $(addprefix -l,...), even though --whole-archive doesn't make any sense for shared libraries. Better place them later on the linker command line (after all our own archives and compiler support libraries), so that switching armeabi-v7a to libc++/libc++abi/libunwind (coming soon) will be able to override erroneously picking _Unwind_* symbols from NSSLIBS's nspr4 instead of libunwind. Change-Id: Ie0c0b7a55da3eabe1bb427232d698b2a4af63e78 Reviewed-on: https://gerrit.libreoffice.org/64964 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-05android: use unified headers and llvm-c++ STL (x86) with NDK 16Christian Lohmaier
gnustl (and others) are to be removed in future versions of the ndk also bump gradle and build-tools to current versions along with it arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix that later Change-Id: Ic794c3293b599b77ec48096bf3283a99c09cbb79 Reviewed-on: https://gerrit.libreoffice.org/45163 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2019-06-05android: Add a missing dependency.Jan Holesovsky
Useful when you switch sdk to a different location. Change-Id: I95301cc9adf50a0bbd918cc7562b8871093625b8 Reviewed-on: https://gerrit.libreoffice.org/67873 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2019-06-05Make android/mobile-config.py compatible with Python 3Stephan Bergmann
Change-Id: I079c4efd28e7e0d10ca6edf242ddd85b9294db08 Reviewed-on: https://gerrit.libreoffice.org/64962 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-05tdf#119082 Exception wrong thread on Android ViewerMert Tumer
Change-Id: I58a8d104b24c7cf2d021e2dce700e25592c8a605 Signed-off-by: Mert Tumer <merttumer@outlook.com> Reviewed-on: https://gerrit.libreoffice.org/58563 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-06-05tdf#118585 Fix exception when closing Android ViewerMert Tumer
Change-Id: I9d87168dce4b5c6e503d41366aa35d5dadf89dae Reviewed-on: https://gerrit.libreoffice.org/57081 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-06-05android: simplify boolean statementChristian Lohmaier
Change-Id: I92cdccfe7b97d9baf29b1155990a38b26579e365
2019-06-05android: suppress deprecation warning for Html.toHtml(String)Christian Lohmaier
deprecated since 24/Nougat, but we still want to support devices running Marshmallow and older.. Change-Id: Iedcf8a56028eff44134b548dc07a89573cb2210d
2019-06-05tdf#117777 fix show hidden files/folders option on AndroidMert Tümer
Change-Id: Ic80ca7f8ebb93f78a58cc0ad778db90deb0c51ba Signed-off-by: Mert Tümer <merttumer7@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/54771 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-06-05android janitor... convert chained ifs to switch statementChristian Lohmaier
Change-Id: I9929bd077a33349a6e57c3a427df7e77b3007c88
2019-06-05tdf#96795: Use locale-sensitive sorting in Android viewerMert Tümer
Change-Id: I98edec9f57f1bf0576e16a1ba3c0e023d6d0b6ed Signed-off-by: Mert Tümer <merttumer7@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/52494 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-06-05add hint on how to use lldb pretty-printers form within android studioChristian Lohmaier
Change-Id: Ia028dd64c04d1de95e42ea2b89ee2bca689a2390
2019-06-05tdf#116152 fix unsupported url exception on Android ViewerMert Tümer
Change-Id: I39233369e754919aeb0dc46856a3746f33e89e9b Signed-off-by: Mert Tümer <merttumer7@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/51675 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-06-05tdf#115388: Android: Use HTTP SecureXisco Fauli
Change-Id: Ia2e198c20b904ba178fac2969dfa80f3f1291be1 Reviewed-on: https://gerrit.libreoffice.org/49123 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-06-05android: fix some layout issues with new-document buttonsChristian Lohmaier
functionality to create new documents was added for tdf#106325 with commit 1503769fe15c122ff2bb8f6f7e7b4ab72656ddc2 However the commit had some issues, most notably clipping of the shadow effect and alignment issues to to scaling down (via the animation effect, took me quite a while until I looked at that) with having a centered pivot. I think it was due to those alignment issues that the label was set to a fixed with - which is a problem for future translation. This commit: * changes the animation to not scale down the initial views * changes the FABs' setting to use compatPadding - this not only ensures enough room for the shadow, but also allows for consistent look across android versions. Side effect is that it needs more height, so * the effect was adjusted accordingly, to shrink to/expand from the lower-right corner of the parent view, instead of "mid-air" * the labels were given a proper background drawable with rounded corners and some padding for a (much more9 polished look * formatting of the labels was split out to a style, for ease of tweaking the looks * add tools:visibility statement to see the elements in layout editor * fixed the strings for the labels (and ID) to some less awkward ones Change-Id: Ifd2d90ec8d23e40603edff19c9af9e0b32090c9f Reviewed-on: https://gerrit.libreoffice.org/42033 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2019-06-05tdf#103083 option to show/hide hidden files/folders on AndroidMert Tümer
The patch was sent for the ULAKBIM/PARDUS project. Signed-off-by: Mert Tümer <merttumer7@gmail.com> Change-Id: Iadbb688a1a976279b23d246001818ac1c21b3d47 Reviewed-on: https://gerrit.libreoffice.org/47637 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-11-16tdf#106370 Android: add ability to insert picturesXimeng Zu
Added ability to insert pictures to Android Viewer. You can take photo or select photo from device or the cloud (Google photos, Dropbox). You can also compress the picture before inserting it with multiple compress grades. So far, inserting doesn't work for Writer due LO native library issues (I think). Change-Id: If6841ba04fe18585703c8b85909cf39747dbbc2f Reviewed-on: https://gerrit.libreoffice.org/41150 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2017-11-16[Android] Add address/formula barsXimeng Zu
Added address bar and formula bar to Calc. Change-Id: I7cc7047d6d07629ab564261d294e481ae585fd29 Reviewed-on: https://gerrit.libreoffice.org/40842 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2017-10-23chmod 0755 -> 0644 for some source filesStephan Bergmann
Change-Id: Ibe5b5e03374419c2c23cd6559ab213d2dc2fcc66
2017-09-24unused importChristian Lohmaier
Change-Id: I45ba3c258594e8f3b50ffdc07ca1e09dc5691c3d
2017-09-24lint: remove redundant type casts (findViewById to object of type)Christian Lohmaier
Change-Id: I0ec35ea5817d110ca20942ce9d95e0120848580a
2017-09-24use gradle to build the owncloud-android-libChristian Lohmaier
this will allow using current android SDK tools & emulator Change-Id: Ic7f9996a36e4af2a5cad07e28c8830b8df12aa44
2017-09-23buildscripts section actually needs dedicated repositoriesChristian Lohmaier
Change-Id: I50f080d085dcd303b2cc54f503793f080ea4f50c
2017-09-22android: bump support library & buildtools/SDK versionsChristian Lohmaier
also add google maven repo, since "The support libraries are now available through Google's Maven repository. We no longer support downloading the libraries through the SDK Manager, and that functionality will be removed soon.." https://developer.android.com/topic/libraries/support-library/setup.html Change-Id: Ica0a2542903f60c7bffa1daa2409b60422bde88f
2017-09-21blank doesn't take any effect anymore. remove it from android's fonts.confChristian Lohmaier
Change-Id: I387ceac08ec5f78686cacd90f897c7c12758ae5d
2017-09-15android: textrelocations are no longer an issue (can target 23 and later)Christian Lohmaier
Change-Id: Ib80651bf3b23cf74abc76472c247b83622046700
2017-09-12android: tune symbols for lldb & we actually target 14 as minSDKChristian Lohmaier
-glldb might be placebo switch like -ggdb2, but at last it won't hurt :-) increase java heap size for gradle to allow inprocess dex as well as actually processing the huge files. furthermore fix platform level in configure to match the minSDK value from build.gradle Change-Id: I57d7d4c67bc3e5ed8bfed1e592b85211b5b8905a Reviewed-on: https://gerrit.libreoffice.org/42162 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-09-07tdf#90556 android: make buildID in about a clickable link to git logChristian Lohmaier
that will allow them to deduce the age of the build Change-Id: Ic1baffbf1ecc6a743a1edd91d24c86670dc640a3 Reviewed-on: https://gerrit.libreoffice.org/41962 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2017-09-07android: drop workarounds for ndk-gdb support (can still run manually)Christian Lohmaier
packing gdbserver into apk conflicts with extractNativeLibs="false", as the gradle pugin compresses it (which could be disabled using aaptOptions), but furthermore it doesn't page-align it, breaking installation. So instead let the user manually push the gdbserver tool to device and remove the hardcoded values that were only there to please the ndk-gdb scripts. Using lldb from within Android Studio is more comfortable anyway :-) Change-Id: I31c3af4847a479c56b3fcd6b5bed114e004bf0d2 Reviewed-on: https://gerrit.libreoffice.org/41950 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2017-09-04tdf#112190 installLocation should be specified in toplevel manifestChristian Lohmaier
Thanks to Petr Vorel for catching this. Fixes portion of 66518ead516e90d606e87c6ce58ec11fea6d172e that added back the android:installLocation placeholder Change-Id: Ibd3333dfafb65fabcb5df3f7a6626a00f5d71bc9
2017-09-03android: prevent null pointer exception on startTomaž Vajngerl
Change-Id: Ifb59ba0cd634d9753f90716bda2af4f58d576afa Reviewed-on: https://gerrit.libreoffice.org/41173 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2017-09-01android: remove a hard to address TODOMiklos Vajna
NSS upstream doesn't seem to support building static libs. The benefit of avoiding a few lines of extra java code doesn't appear to outweigh the cost of patching NSS to provide static libs & carry on those patches in our LO-bundled NSS. Change-Id: I01fc0b1ff076923fec64b469529d1b920c1d91c2
2017-08-31need to manuall load all native-libs on e.g. JellybeanChristian Lohmaier
511ae02c6457e69cb6daab871acd9c3e7d64e2e3 introduced additional libraries that are not merged to the single liblo-native-code.so These need to be manually loaded in correct order. See https://stackoverflow.com/questions/11058898/loading-shared-libs-that-depend-on-other-shared-libs for details. Change-Id: I34b279b69de8a0f8f58f8f980e5b3a7347cd0439
2017-08-31use extractNativeLibs="false" for less disk usage and faster installationChristian Lohmaier
no need to extract the (huge) nativve lib to the device's filesystem on newer android versions (Marshmallow and later) - can access the .so from within the apk if it is uncompressed. While the standalone apk will be larger, the delta-update mechanism of playstore can be more efficient, so you get: * faster installation (since the file doesn't need to be extracted) * less disk usage on device (for same reason) * smaller delta-updates for playstore drawbacks * larger standalone apk * on older android version more storage needed (the increased size of the standalone apk), as those will still extract the native-lib Unfortunately uncompressed it exceeds the current maximum size for single apk files in playstore (100MB), so cannot use for release-builds also revive installLocation attribute to allow installation on external storage and move from manifestPlaceholders from defaultConfig to release buildType (as otherwise gradle complains about having "Multiple entries with same key") Change-Id: Id07ac9c144886bb89abaf7b5b4bc7bd548f27247
2017-08-31android: use sp (instead of dp) for font-sizeChristian Lohmaier
Change-Id: I11dbf24b38c08b4dfd3cc64dbacbcd949a37b833
2017-08-31min and target SdkVersions are taken from gradleChristian Lohmaier
Change-Id: I2eeb265b101b126f6bf268c9c5fa0195a44b0ce7
2017-08-28android:singleLine is deprecated, use maxLines=1 insteadChristian Lohmaier
Change-Id: I32c7d000848f10a40a2b7b0038463c31ddade6f8
2017-08-28android: position in RecyclerView must not be treated as fixedChristian Lohmaier
Change-Id: Id7f88b2b1b9913a006b0b73ceb4421b47fccc495