max-kammerer / orion-viewer

Orion Viewer is pdf, djvu, xps, cbz and tiff file viewer for Android devices based on mupdf and DjVuLibre libraries
Other
159 stars 52 forks source link

GitHub code size GitHub Releases Downloads GitHub release

Orion Viewer is pdf, djvu, xps, tiff and comic book (cbr, cbz, cbt) file viewer for Android devices based on MuPDF and DjVuLibre libraries

Application features

<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80"> <img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="80">

App usage analytics

From version 0.91.0 Orion Viewer automatically collects app crashes and app usage statistics to improve application quality. Orion Viewer doesn't collect any personal information (and doesn't pass it to any third parties).

Contribution

Contributions are always welcome! Feel free to open any issue, send pull request or suggest any idea

Translations

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

Take a look into translations page on wiki.

Setting up build and working environment

To work with and build Orion Viewer project you will need next tools installed:

  1. Checkout repository sources via git:

    git clone https://github.com/max-kammerer/orion-viewer.git
    or if you have configured ssh access
    git clone git@github.com:max-kammerer/orion-viewer.git

  2. Setup native libraries (mupdf, djvu) via next command:

    ./gradlew -b thirdparty_build.gradle downloadDjvu downloadAndMakeMupdf

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

  3. Open project in Android Studio (AS): Main Menu/File/Open... and select project folder to open.

  4. Now you can build project within AS and run it in Android emulator

You can also build Android 'apk' artifacts via next command:

./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:assembleDebug -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 lib (libncurses5).