Skip to content

[Bug] Dependency mismatch on rolling-release distros (Arch/CachyOS) & Silent APK installation failure on Xiaomi HyperOS #48

Description

@Tilegen26

I encountered two main blockers when trying to run the pre-built android_dex_win binary on a modern rolling-release distribution (CachyOS/Arch Linux) connected to a Xiaomi Poco X7 (HyperOS).

  1. Shared Library Version Mismatches: The binary is dynamically linked to explicit, older library versions that are no longer natively present on up-to-date Arch-based systems.
  2. Silent Automated Installation Failure: The desktop script fails to push the companion APK to HyperOS devices, failing silently without throwing an installation prompt on the phone.

Environment:

  • Host OS: CachyOS / Arch Linux (Rolling)
  • Target Device: Poco X7
  • Target OS: Xiaomi HyperOS (Android)
  • Android-Dex Version: v0.9

Terminal Error Output (Dependency Issues):

[WARN] Auto-detected missing binary dependencies:
libjxl_threads.so.0.7 => not found
librav1e.so.0 => not found
libSvtAv1Enc.so.1 => not found
librist.so.4 => not found

./android_dex_win: error while loading shared libraries: libjxl_threads.so.0.7: cannot open shared object file: No such file or directory

(Note: Modern Arch provides libjxl.so.0.12 and librav1e.so.0.8, which causes the break).

GUI Error Observed:

The launcher opens but hangs/fails at the second step:
[X] APP - App installation failed. Check device storage and USB permissions.

How I Resolved It Manually (Workaround):

  1. Fixed Libraries via Local Symlinks:
    I had to manually create local symlinks pointing the old library names to the modern system versions inside a custom directory, and then inject them using LD_LIBRARY_PATH:

ln -s /usr/lib/libjxl.so ~/.local/lib/libjxl.so.0.7
ln -s /usr/lib/libjxl_threads.so ~/.local/lib/libjxl_threads.so.0.7
ln -s /usr/lib/librav1e.so ~/.local/lib/librav1e.so.0
ln -s /usr/lib/libSvtAv1Enc.so ~/.local/lib/libSvtAv1Enc.so.1
ln -s /usr/lib/librist.so ~/.local/lib/librist.so.4

  1. Bypassed Automated APK Installer via Direct ADB:
    The automated install script was blocked by HyperOS security policies. I resolved this by manually extracting and installing the APK via terminal:

adb install -r ./Build_copy/AndroidDex.apk

Once the APK was natively pushed, launching the app with LD_LIBRARY_PATH="$HOME/.local/lib" ./android_dex_win successfully initiated the Dex desktop environment.

Suggested Fixes for the Developer:

  • App Packaging: Consider distributing the Linux binary as an AppImage or Flatpak bundle to encapsulate explicit library dependencies and avoid breaking on rolling-release distributions.
  • Installer Fallback: If the automated background APK installation fails or times out, provide a fallback message in the UI instructing users with strict OEM skins (like HyperOS/MIUI) to run a manual adb install command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions