# yukihub manages a Galgame library, and the launch trick is fragile

> YukiHub is an Android app for holding a visual novel library, importing from Playnite, PotatoVN, Vnite and LunaBox, syncing through WebDAV and scraping covers from VNDB and Bangumi. Its direct-launch support depends on patching third-party manifests to export activities, its build information claims version 0.1 while the releases are at v0.2.6.1, and the README is written in Chinese with an English version linked.

**xm486/YukiHub** — YukiHub is a Galgame management tool for Android that supports synchronization of local games, shortcuts, and play records. The project uses the GPL-3.0 open-source license.

- Repository: https://github.com/xm486/YukiHub
- Website: https://yukihub.kesug.com/
- Stars: 493 · Forks: 14
- Language: Java
- License: GPL-3.0
- Published: 2026-09-20 · Updated: 2026-09-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/xm486-yukihub

## A local library manager rather than a launcher

The project states its own positioning plainly: it leans towards a local game management centre rather than a plain launcher. That shows in the entry types it accepts. Alongside locally installed games it manages Android app entries with no directory at all, external program shortcuts, custom launch items and entries launched by package name, which is what makes an empty-directory entry a first-class concept rather than a workaround. The library view supports adding, editing and deleting entries, multi-select and clearing in bulk, a dark interface built for landscape, and a setting that switches the launcher icon between a new and a classic one. Shortcuts can also be imported from GameHub with icon display and search filtering. Everything else in the app, synchronisation, scraping, OCR translation and a built-in community with posts, comments, game reviews, following and favourites, hangs off that library.

## Playtime is measured by foreground transitions

The playtime counter is unusual enough to explain before anyone relies on it. Timing starts when you tap launch inside YukiHub and stops when you return to YukiHub in the foreground, so putting the app in the background mid-game does not break the count, and coming back later still records what happened. The documented failure mode is deliberate: if you return to the app halfway through, then go back to the game without relaunching from inside YukiHub, that stretch is not counted and you have to start again from the app. A Steam-like social layer sits on top of these records, with friends, activity, online status, chat and a view of what people are playing now, plus third-party account sign-in and binding for two Chinese Galgame services. The known-issues section is worth reading for the playtime-adjacent details: an emulator could not launch one engine's games directly, fixed in a later build, and phones from Huawei and similar vendors blocked the storage access those engines need, addressed with an external private save option and a lightweight SAF path and marked fixed in 0.12.5+1. Both fixes carry version stamps, which is the right way to write this and the only way to know whether your case is covered.

## Sync matches on three keys, and title for empty entries

Library data and play records both synchronise, through plain import and export for backups and multi-device migration, and through WebDAV for cloud sync. Matching is attempted on the root path, the local ID and the game title, in that order of usefulness. Entries with no directory cannot be matched by path, so they fall back to the title, which is the fragile case: two regional releases of the same title, or a renamed folder, will not reconcile automatically. Scanning the library has a fast mode and a compatibility mode you can choose between in settings, and imported entries whose directories are empty can be matched and recovered later rather than dropped.

## Four metadata sources and an inherited OCR translator

Covers, descriptions, tags and character information are pulled from VNDB, Bangumi, two Chinese sources named 月幕 Gal and Hikarinagi, and you choose the source and the display priority in settings, with results cached locally so the library stays readable offline. The translation feature is not new code: it is inherited from the MoeTranslate project, credited in the README, and adds OCR on top of a choice of translation APIs with a high degree of customisation in the API settings. For a genre where a large share of releases are Japanese-only, an in-app OCR path is the feature that separates a launcher from a library manager.

## Imports arrive from four desktop managers

Migration paths are documented for Playnite, PotatoVN, Vnite and LunaBox, which covers the common case of a desktop library moving to a phone, and shortcuts can be imported from GameHub with icons and search filtering. What none of that fixes is that most Galgame engines are Windows applications, so the Android path runs them under an emulator or as a ported app, and YukiHub's launch support reaches into the emulated side. Its tutorial for Winlator and one Chinese launcher works by exporting an activity that is normally private, so the emulator can start the game directly:

```xml
android:exported="true"
```

The same tutorial covers a Chinese launcher, patched with a file extractor injection and the same exported-activity change on its game detail activity. That is a manifest change to somebody else's app, which means it works until the emulator updates and the flag is reset. The SD-card case gets its own note: running games from external storage needs a mirrored directory so saves and the separate save mode land in the same place.

## The build says 0.1 and the releases say 0.2.6.1

The build information section lists application ID `com.yuki.yukihub`, minimum SDK 26, target SDK 33 and compile SDK 33, and then states the current version as 0.1. The release tags tell a different story: v0.2.5, v0.2.6 and v0.2.6.1 were all published within a minute of each other on 2026-09-19, and the branch was pushed on 2026-09-30. So the version string in the documentation has drifted from the shipped artefacts, and it is the sort of number a bug report quotes. The repository keeps a CHANGELOG, a contributing guide and a user guide in Markdown, a screenshots directory, an AndroidIDE configuration folder, a tools directory and a template for signing properties, so signing configuration is expected to be filled in locally rather than committed. Targeting SDK 33 is also two Android generations behind the current platform, which limits what the app can use from newer storage and permission behaviour.

## A disclaimer you must accept before the first launch

YukiHub ships a disclaimer mechanism that has to be accepted on first launch before the app is usable, and the same text is readable later in settings. It asks you to manage and launch only games, applications and resources you have the right to use, and it lists what the project does not provide: game content, cracked resources, any ability to bypass authorisation, and support for any improper use. Permissions are declared with purposes, file read and write for game files and configuration, network for synchronisation and online features, and full-disk access for directory-managed libraries, with a request to grant them only if you understand why. The main README is in Chinese with an English version linked beside it, and a separate user guide exists in Markdown and on the website.

## Where YukiHub is the wrong tool

Android is the hard boundary, and a landscape one: it needs Android 8.0 or newer, file access permissions, and third-party engines to cooperate with system compatibility that the README itself calls uncertain. It is not a game library, and the disclaimer is explicit that it ships nothing of the sort. The direct-launch path is the fragile part, since it depends on patched manifests inside other people's apps and on SD-card games behaving, which is why the known-issues section is stamped with version numbers for its fixes. Around the project an ecosystem is forming and churning: one branch targets portrait UI through a rewrite with MVVM currently migrating to Kotlin across a third attempt, another appears to have stalled while planning an iOS version, and a third is built on the first. Credits go out to krkr2, Tyranor, Beacon, LunaBox, Playnite, OnscripterYuri, ppsspp and MoeTranslate, which is a good map of where the engines and the prior art come from, and bug reports are asked to carry a device model, an Android version, screenshots, reproduction steps and logs, which is what you would want when the failure is a storage or manifest issue. Expect the fork you pick to move.

## Conclusion

yukihub fits an Android player with a scattered library who wants one screen for entries, playtime and metadata, and who is comfortable granting file access and accepting that some launch paths need a patched third-party app. It does not fit a desktop library, and it is not a source of games. Verify two things before installing: whether the emulator and engine versions on your device are on the fixed list, since the known-issues section is version-stamped, and whether you can live with a mandatory first-launch disclaimer and the permissions the app asks for.

## FAQ

### What does YukiHub actually do?

It is an Android library manager and launcher for Galgame and visual novels, handling locally installed games, Android app entries with no directory, external program shortcuts, custom launch items, playtime records, metadata and translation. The README positions it as a local game management centre rather than a plain launcher.

### How do I install YukiHub?

Download the APK from the repository's Releases page and install it, or build from source with Android Studio, the Android SDK and a Gradle environment. The application ID is com.yuki.yukihub, the minimum SDK is 26 for Android 8.0, and landscape orientation is recommended.

### Can YukiHub sync my library between devices?

Yes. Game entries and play records sync through import and export for backups and migration, and through WebDAV for cloud sync. Entries are matched on root path, local ID and title, with entries that have no directory matched by title first.

### Where does YukiHub get game information and translations?

Covers, descriptions, tags and character data are scraped from VNDB, Bangumi, 月幕 Gal and Hikarinagi, with the source and display priority configurable and results cached for offline viewing. The OCR translation feature is inherited from the MoeTranslate project and supports choosing and customising translation APIs.

### Does YukiHub include games or get around authorisation?

No, and it says so in a disclaimer you must accept on first launch: the project provides no game content, no cracked resources and no ability to bypass authorisation, and expects you to manage only software you have the right to run.

## Sources

- [License: GPL-3.0](https://github.com/xm486/YukiHub/blob/main/LICENSE)
- [Project website](https://yukihub.kesug.com/)
- [README](https://github.com/xm486/YukiHub/blob/main/README.md)
- [Releases](https://github.com/xm486/YukiHub/releases)
- [xm486/YukiHub on GitHub](https://github.com/xm486/YukiHub)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/xm486-yukihub
