Skip to content

Repository files navigation

Emaki

Formerly EasyReader. Named after the emaki (絵巻), the Japanese narrative picture scroll — the thousand-year-old ancestor of the webtoon.

Android Kotlin Jetpack Compose

An Android reader for web novels, manga, manhwa, and local files (like PDFs and EPUBs). Built with Kotlin and Jetpack Compose.

Emaki Manwha reader Emaki Novel reader Emaki Explorer

Features

  • Built-in scraper: Extracts text and chapters from almost any novel site.
  • Offline reading: Pre-fetch and cache entire series locally.
  • Unified search: Search across multiple sources (like MangaBat and NovelFire) at once.
  • Formats: Supports web novels, manga, EPUB, PDF, and HTML.
  • Local AI: Summarizes chapters on-device using a local LLM.
  • No cloud BS: Everything is stored locally on your device.

Getting Started

Prerequisites

  • JDK 17+
  • Android Studio / Android SDK (compileSdk = 37)

Run the App

  1. Clone the repo:

    git clone https://github.com/Aatricks/EasyReader.git
    cd EasyReader
  2. Run the default debug build:

    ./gradlew :app:installStandardDebug

Build Variants

The app has two build flavors:

  • standard (default): Normal build. Doesn't need the local llmedge library. AI summarization is visible but will show as unavailable.
  • ai: Enables local AI summarization and downloads the llmedge dependency from Maven Central automatically. To run:
    ./gradlew :app:installAiDebug

Note

The app package name is still io.aatricks.novelscraper and the source code namespace is still io.aatricks.easyreader so existing installs keep updating in place across the EasyReader → Emaki rename.

Contributing

Open a PR if you want to add a source or fix a bug.

About

Lightweight light novel, pdf, manwha, manga and epub reader with offline AI summaries.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages