Skip to content

kompoti121/Anilili

Repository files navigation

Anilili

Anilili is a native Android anime streaming client built with Kotlin, Jetpack Compose, and Media3. Metadata, login, library lists, and progress sync are powered by AniList or MyAnimeList, while episodes and stream sources are resolved from multiple providers: Miruro, AniKoto, ReAnime, AniZone, AnimeGG, AniNeko, and 2DHive.

It runs on phones, tablets, Android TV, and Fire TV down to Android 5.1 / Fire OS 5 (API 22).

Website · Download APK · Telegram

Miruro streams are requested through the Miruro pipe endpoint and decoded on device. Additional provider sources are resolved through the Anivexa-backed provider client. HLS streams play with ExoPlayer; embed providers and fallback playback use WebView.

Personal and educational project. This app is not affiliated with AniList, MyAnimeList, Miruro, AniKoto, ReAnime, AniZone, AnimeGG, AniNeko, or 2DHive. It hosts no content; streams are resolved from third-party providers at playback time. Sideloaded APK only.

Screenshots

Home Search Details
Anilili home screen Anime search and browse Anime details and server selection
Watch Player controls Library
Watch screen with episode list Player controls with subtitles and casting Library with watchlist and continue watching

Features

  • Home feeds for trending, popular, and recently released anime.
  • Browse and search with genre, tag, year, status, format, rating, and sort filters.
  • Anime details, provider selection, sub/dub selection, ratings, and episode lists.
  • Multi-provider stream discovery across Miruro, AniKoto, ReAnime, AniZone, AnimeGG, AniNeko, and 2DHive.
  • Native HLS playback with subtitles, skip intro, and auto advance.
  • Background native-HLS episode downloads with external subtitle tracks, progress, offline playback, and removal from the Library screen.
  • Miruro provider download options, with source badges showing which servers expose them.
  • WebView playback for embed providers and fallback player routes.
  • AniList or MyAnimeList login with watching, planning, paused, and completed list views.
  • Watch history, continue-watching resume positions, local watchlist, and optional AniList/MyAnimeList episode progress sync.
  • Adaptive Compose UI for phone and TV-style layouts.

Project Structure

Path Purpose
app/src/main/java/com/miruronative/data Domain models and provider catalog
app/src/main/java/com/miruronative/data/remote AniList, Miruro pipe, and provider clients
app/src/main/java/com/miruronative/ui Compose screens and player UI
docs/PIPE_PROTOCOL.md Notes about the Miruro pipe format
showcase/mobile Six optimized 540×1062 WebP screenshots
docs/ GitHub Pages landing page (https://kompoti121.github.io/Anilili/)

Build

Requirements:

  • JDK 17
  • Android Studio or Android SDK API 35
  • Gradle 8.13 if building from the command line without a generated wrapper

Android Studio:

  1. Open this repository folder.
  2. Let Gradle sync.
  3. Run the app on a device/emulator or use Build > Build APK(s).

Command line:

gradle wrapper
./gradlew assembleDebug

On Windows, use:

gradlew.bat assembleDebug

Debug builds generate three APKs in app/build/outputs/apk/debug/: Anilili-debug.apk (universal), Anilili-debug_arm64-v8a.apk, and Anilili-debug_armeabi-v7a.apk. Release builds use the same three-way layout without the -debug suffix. All three support Android/Fire OS API 22 and up.

Release assets must keep these names: the in-app updater picks the ABI split by matching arm64-v8a / armeabi-v7a in the asset name and falls back to the universal Anilili.apk. Matching is case-insensitive, so lowercase assets from releases before v0.1.34 still resolve.

The ABI splits use _ (not -) before the ABI on purpose: updaters in v0.1.32 and earlier install the release's first .apk asset, and GitHub sorts assets by name. . sorts before _, so the universal Anilili.apk stays first and legacy devices always get an APK that runs on their hardware. With - names, a 32-bit Fire TV on an old version would download the arm64 split and hit "app not compatible with this device".

Notes

  • Native offline downloads are available for HLS sources such as AniKoto/MegaPlay. When Miruro reports a separate provider download page, the episode screen also exposes its available MP4 quality options in the browser.
  • local.properties, build output, IDE files, Graphify output, temporary folders, and old API bundles are intentionally ignored.
  • The showcase folder is intentionally limited to the six mobile screenshots shown above.

About

Native Android anime app, using the most popular anime servers. Works on Android TV and Tablet as well.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages