Menu

Tree [98e3c8] master /
 History

HTTPS access


File Date Author Commit
 .github 2024-04-08 Michael Bogdanov Michael Bogdanov [bd1317] Tune test, add test execution on Android 34
 common 2024-04-22 Michael Bogdanov Michael Bogdanov [dbed2f] Tune settings saving
 fastlane 2023-10-29 Michael Bogdanov Michael Bogdanov [4c295c] Update F-Droid metadata
 gradle 2024-01-22 Michael Bogdanov Michael Bogdanov [54c4d6] Update to AGP 8.2.1
 native 2024-01-17 Michael Bogdanov Michael Bogdanov [cc6cf2] Support cropping
 nativeLibs 2024-03-19 Michael Bogdanov Michael Bogdanov [d91940] Rename PageDimension into PageSize
 orion-viewer 2024-04-21 Michael Bogdanov Michael Bogdanov [98e3c8] Version 0.91.3
 tree-view-list-android 2024-01-22 Michael Bogdanov Michael Bogdanov [54c4d6] Update to AGP 8.2.1
 utils 2024-03-23 Michael Bogdanov Michael Bogdanov [d42c21] Logs: forward error channel
 .gitignore 2024-04-09 Michael Bogdanov Michael Bogdanov [6ecde8] Don't track google-services.json
 README.md 2023-09-12 nrovinskiy nrovinskiy [8746d1] Update thirdparty_build.gradle scripts: support...
 build.gradle 2024-04-15 Michael Bogdanov Michael Bogdanov [47607e] Integrate crashlytics, report error with it
 djvu.patch 2018-12-29 Michael Bogdanov Michael Bogdanov [205302] Use patch to update djvu library
 gradle.properties 2024-04-15 Michael Bogdanov Michael Bogdanov [a99b64] Tune obfuscation to avoid runtime errors
 gradlew 2020-05-12 Mikhail Bogdanov Mikhail Bogdanov [131058] Update gradle wrapper and add checksum
 gradlew.bat 2020-05-12 Mikhail Bogdanov Mikhail Bogdanov [131058] Update gradle wrapper and add checksum
 local.properties.sample 2020-05-08 Mikhail Bogdanov Mikhail Bogdanov [1a00e2] Add simple CI support
 project.gradle 2020-05-08 Mikhail Bogdanov Mikhail Bogdanov [03de6a] Make local.properties optional
 settings.gradle 2024-01-22 Michael Bogdanov Michael Bogdanov [54c4d6] Update to AGP 8.2.1
 thirdparty_build.gradle 2024-03-12 Michael Bogdanov Michael Bogdanov [b35f3e] Build: switch to mupdf mirror

Read Me

GitHub code size
GitHub Releases Downloads
GitHub release

Orion Viewer is pdf, djvu, xps, cbz and tiff file viewer for Android
devices based on
MuPDF and
DjVuLibre
libraries

Application features

  • Outline navigation
  • Bookmarks support
  • Page navigation by screen taps + Tap Zones + Key binding
  • Text selection
  • Single word selection by double tap with translation in external dictionary
  • Custom zoom
  • Custom border crop
  • Portrait/landscape orientation
  • Support different navigation patterns inside page (left to right, right to left)
  • External Dictionaries support
  • Built-in file manager with recently opened file view

Get it on F-Droid
Get it on Google Play

Contibution

Whatever you want! Project is open to any ideas and discussions

Translations

Project is fully or partially translated into Chinese, English, French, German, Hebrew, Italian, Russian, Spanish and Ukrainian languages.
It would be highly desirable to eliminate gaps and errors in existing translations and to translate project into new languages.

Take a look into
translations page on wiki.

How to build project?

To build Orion Viewer you will need:

  • Android Studio 2022.3+
  • android-sdk 33+
  • android-ndk 20+
  • make and python3 for mupdf
  • git

  • downloaded native libs (mupdf, djvu):

    ./gradlew -b thirdparty_build.gradle downloadAndPatchDjvu downloadAndMakeMupdf

    Build scripts for them are defined in externalNativeBuild section in gradle build files
    (for details see djvuModule/build.gradle and mupdfModule/build.gradle).
    Native libs are checked out into nativeLibs/djvu and nativeLibs/mupdf folders.

  • specify path to android-sdk in local.properties (use local.properties.sample as example).

To build Android apk files run:

./gradlew :orion-viewer:assembleDebug (or assembleRelease)

It will generate apk artifacts suitable for Android 4.1+ devices.

For Android 4.0.x devices use next build commands (it also requires android-ndk 17):

./gradlew :nativeLibs:djvuModule:clean :nativeLibs:mupdfModule:clean ./gradlew :orion-viewer:assembleArm7Debug -Porion.build.android40=true

Pre 0.80 versions are compatible with Android 2.1+ devices

Troubleshooting

In case of getting error about absent libtinfo.so.5, please install ncurses-compat-libs.