Readium Mobile is a toolkit for ebooks, audiobooks and comics written in Swift & Kotlin.
This toolkit is a modular project, which follows the Readium Architecture. The different modules are found under readium/
.
shared
– SharedPublication
models and utilitiesstreamer
– Publication parsers and local HTTP servernavigator
– PlainFragment
andActivity
classes rendering publicationsopds
– Parsers for OPDS catalog feedslcp
– Service and models for Readium LCP
A Test App demonstrates how to integrate the Readium Kotlin toolkit in your own reading app
❓ Find documentation and API reference at readium.org/kotlin-toolkit.
Readium modules are distributed through JitPack. It's also possible to clone the repository (or a fork) and depend on the modules locally.
Make sure that you have the $readium_version
property set in your root build.gradle
and add the JitPack repository.
buildscript {
ext.readium_version = '2.2.1'
}
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
Then, add the dependencies to the Readium modules you need in your app's build.gradle
.
dependencies {
implementation "com.github.readium.kotlin-toolkit:readium-shared:$readium_version"
implementation "com.github.readium.kotlin-toolkit:readium-streamer:$readium_version"
implementation "com.github.readium.kotlin-toolkit:readium-navigator:$readium_version"
implementation "com.github.readium.kotlin-toolkit:readium-opds:$readium_version"
implementation "com.github.readium.kotlin-toolkit:readium-lcp:$readium_version"
}
You may prefer to use a local Git clone if you want to contribute to Readium, or if you are using your own fork.
First, add the repository as a Git submodule of your app repository, then checkout the desired branch or tag:
git submodule add https://github.com/readium/kotlin-toolkit.git
Then, add the following to your project's settings.gradle
file, altering the paths if needed. Keep only the modules you want to use.
include ':readium:shared'
project(':readium:shared').projectDir = file('kotlin-toolkit/readium/shared')
include ':readium:streamer'
project(':readium:streamer').projectDir = file('kotlin-toolkit/readium/streamer')
include ':readium:navigator'
project(':readium:navigator').projectDir = file('kotlin-toolkit/readium/navigator')
include ':readium:opds'
project(':readium:opds').projectDir = file('kotlin-toolkit/readium/opds')
include ':readium:lcp'
project(':readium:lcp').projectDir = file('kotlin-toolkit/readium/lcp')
You should now see the Readium modules appear as part of your project. You can depend on them as you would on any other local module:
dependencies {
implementation project(':readium:shared')
implementation project(':readium:streamer')
implementation project(':readium:navigator')
implementation project(':readium:opds')
implementation project(':readium:lcp')
}
Using the toolkit with Readium LCP requires additional dependencies, including the binary liblcp
provided by EDRLab. Contact EDRLab to request your private liblcp
and the setup instructions.