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).
- 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.
- 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):
- 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
- 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.
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).
Environment:
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):
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
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: