https://bugs.documentfoundation.org/show_bug.cgi?id=174043
Bug ID: 174043
Summary: Android LOK: Writer-only build fails in lo_initialize:
deployment constructors only in the draw group,
recipe's fundamentalrc lacks the extension paths
Product: LibreOffice
Version: 26.8.1.1 release
Hardware: ARM
OS: Android
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Android Viewer
Assignee: [email protected]
Reporter: [email protected]
Blocks: 84726, 168467
Description:
With --enable-android-lok, lo_initialize() always calls
desktop::Desktop::SynchronizeExtensionRepositories() and
CheckExtensionDependencies() (desktop/source/lib/init.cxx, under #if
HAVE_FEATURE_ANDROID_LOK). A Writer-only build that follows LibreOffice's own
Android recipe is missing two things this path needs.
1. The deployment constructors
(com_sun_star_comp_deployment_ExtensionManager_get_implementation and the other
desktop/source/deployment ones) are listed in draw_constructor_list in
solenv/bin/native-code.py, not in core. Linking liblo-native-code.so with
"native-code.py -g core -g writer" leaves them out, and init fails with:
Bootstrapping exception 'component context fails to supply singleton
com.sun.star.deployment.ExtensionManager of type
com.sun.star.deployment.XExtensionManager'
2. With those constructors added, init fails next with:
Bootstrapping exception '[context="shared"] caught unexpected void: Cannot
create folder (invalid path): '''
The fundamentalrc written by android/source/build.gradle.kts (task
createRCfiles) has no BUNDLED_EXTENSIONS, BUNDLED_EXTENSIONS_USER,
SHARED_EXTENSIONS_USER, UNO_SHARED_PACKAGES_CACHE, UNO_USER_PACKAGES_CACHE,
TMP_EXTENSIONS or BAK_EXTENSIONS entries. Desktop builds get these from
program/lounorc. Defining them, pointing into the app's data directory, makes
init succeed.
Since init always synchronises extensions on Android, the deployment
constructors probably belong in the core group for Android LOK builds, and the
recipe's fundamentalrc should define the extension paths.
Both are unchanged on master as of 2026-10-15 (the recipe is now
android/app/build.gradle.kts). I did not test the LibreOffice Viewer app
itself. It links the draw group, so it may hit only the second problem.
Steps to Reproduce:
1. ./autogen.sh --with-distro=LibreOfficeAndroidAarch64 --enable-android-lok
(NDK r28c), then make.
2. Link liblo-native-code.so with solenv/bin/native-code.py -g core -g writer.
3. Package assets and rc files the way android/source/build.gradle.kts does,
then call libreofficekit_hook_2().
Actual Results:
lo_initialize fails with the first exception above. Once the constructors are
added, it fails with the second.
Expected Results:
A Writer-only LibreOfficeKit initialises on Android.
Reproducible: Always
Referenced Bugs:
https://bugs.documentfoundation.org/show_bug.cgi?id=84726
[Bug 84726] [META] LibreOffice for Android bugs and enhancement requests
https://bugs.documentfoundation.org/show_bug.cgi?id=168467
[Bug 168467] [META] LibreOfficeKit issues
--
You are receiving this mail because:
You are the assignee for the bug.