MewX/light-novel-library_Wenku8_Android
Productivity & UtilitiesAn open-source Android reader for light novels from Wenku8, with offline caching, search, rankings and two reading engines.
What it is
This is a third-party Android client for the light-novel site Wenku8.com, started in 2014 and built in Java with a Material Design interface. It lets readers browse recently updated novels, search by title or author, check rankings, keep a local bookshelf and download chapters for offline reading. Reading happens in either a left-right paged engine or a vertical-scrolling engine, with adjustable font, line spacing, margins, background and a dark mode.
The architecture separates an API/parser layer (Wenku8API, Wenku8Parser, plus model classes for novels, chapters and volumes) from UI fragments and activities, and the reader is organized as a loader/setting/slider stack under reader/ so the paging logic stays independent of site data. Novels are persisted as XML files under sdcard/wenku8/saves, which is also the compatibility surface for anyone feeding the app content from other libraries.
The most recent revision routes site requests through a self-hosted Cloudflare Worker relay because the upstream API was being abused and is no longer called directly.
Getting started
The fastest path for a reader is the published app: install it from Google Play or check the project homepage for the current distribution. The README also points to a Telegram group for support and updates.
For developers, the active 1.x source lives in studio-android/ and is an Android Studio project; eclipse-android-old/ holds the older 0.5.2.1 edition and eclipse-android/ a stripped 0.5.1 build whose API code is removed, so it cannot fetch data if compiled. Third-party libraries are declared as Gradle dependencies rather than copied in. A typical workflow is:
git clone https://github.com/MewX/light-novel-library_Wenku8_Android- Open
studio-android/in Android Studio and let Gradle sync. - Build and run on an Android device or emulator. The app talks to the Cloudflare Worker relay configured in the source; no separate server setup is documented, and you should expect to adjust the endpoint if you run your own relay.
- Optionally place custom reader fonts, sidebar wallpapers or backgrounds in
sdcard/wenku8/custom; these are picked up by the reading and menu settings.
To continue the app with content from other libraries, the README describes an XML save format (aid-intro.xml, aid-introfull.xml, aid-volume.xml, and per-chapter content files with <!--image-->URL<!--image--> markers) and suggests offsetting IDs from other sites (e.g. +10,000,000 for linovel, +20,000,000 for lknovel) so bookshelves do not collide. It also recommends scraping HTML and converting it into that format, since the original API is no longer a viable data source. The full format notes are in the save-format section.
Constraints and limitations
- The app is a client for a third-party site and depends on that site's data. The upstream API is no longer used directly; requests now go through the maintainer's Cloudflare Worker relay, so availability depends on that relay staying up.
- Maintenance is explicitly casual/occasional, and the README states the app was planned to stop maintenance because of copyright pressure around light novels and the loss of a data source.
- The project is GPL-2.0 licensed; redistribution and derivative apps must follow that license.
- Saved data lives under
sdcard/wenku8, and custom fonts/backgrounds must be placed inwenku8/custom; the README notes external SD cards are not supported for these custom files. - Reading progress, bookshelf and login credentials are stored locally in the app's own
savesfiles (cert.wk8is only lightly encrypted), so treat device storage as sensitive. - The 1.x UI targets Material Design-era Android and the 0.5.2.1 version exists specifically for older devices; neither is a general-purpose modern Android reader.
HotRepo's take
The project's only HotRepo daily record is a 2026-11-01 snapshot on the Java language list: 3,261 stars, 372 forks, 20 stars gained that day, and a best position of 12 on that list. That is a useful signal that an eleven-year-old GPL reader still draws attention when it appears in a language leaderboard, but it is one day's data with no full-language rank recorded, so it says little about sustained growth. What stands out technically is the design choice to keep a parser/model layer separate from the reader and to pour continuity into an XML save format with cross-library compatibility rules: that is the part worth studying for anyone building an offline reader on top of an unstable source, and it is also why the repository still has value after the app itself stopped receiving regular updates.
Written by AI from the project's README, updated . The project's own docs are the source of truth.