Skip to content
This repository was archived by the owner on May 24, 2026. It is now read-only.

TheMrClaus/OmnioMobile

Repository files navigation

Omnio Mobile



Contributors Forks Stargazers Issues License

Omnio's multiplatform mobile client for Android and iOS.
Stremio addon ecosystem • Cross-platform

About

Omnio Mobile is a Kotlin Multiplatform mobile client for Android and iOS. It delivers a shared Compose UI while keeping the playback-focused experience, collection tools, watch progress flows, downloads, and Stremio addon ecosystem integration from the fork baseline.

The mobile app is built from a single shared codebase in composeApp, with native platform entry points for Android and iOS.

Installation

Android

Download the latest Android build from GitHub Releases.

iOS

Development

git clone https://github.com/TheMrClaus/OmnioMobile.git
cd OmnioMobile
./scripts/run-mobile.sh android
# or
./scripts/run-mobile.sh ios

Project Structure

  • composeApp/ contains the shared Kotlin Multiplatform and Compose Multiplatform app code.
  • composeApp/src/commonMain/ contains shared UI, features, repositories, and platform-agnostic logic.
  • composeApp/src/androidMain/ contains Android-specific integrations.
  • composeApp/src/iosMain/ contains iOS-specific integrations.
  • iosApp/ contains the native Xcode project and iOS entry point.

Useful commands:

./gradlew :composeApp:assembleDebug
./gradlew :composeApp:compileKotlinIosSimulatorArm64
./scripts/build-distribution.sh

Versioning is driven from iosApp/Configuration/Version.xcconfig, which is used as the shared source of truth for both iOS and Android builds.

Beta Releases

OmnioMobile beta releases are produced by the Beta Release GitHub Actions workflow in .github/workflows/beta-release.yml.

The workflow supports three modes:

  • dry_run generates preview release notes without editing tracked files, building APKs, or publishing anything.
  • draft builds the signed fullRelease APK, bumps iosApp/Configuration/Version.xcconfig in auto mode, and creates a draft GitHub release.
  • publish builds the signed fullRelease APK, bumps iosApp/Configuration/Version.xcconfig in auto mode, and creates a normal GitHub release.

If you override release_tag, keep the main channel marker in the tag so the in-app updater can still discover the release.

Required repository secrets:

  • LOCAL_PROPERTIES_BASE64
  • OMNIO_PHONE_RELEASE_KEYSTORE_BASE64
  • OMNIO_PHONE_RELEASE_KEY_ALIAS
  • OMNIO_PHONE_RELEASE_KEY_PASSWORD
  • OMNIO_PHONE_RELEASE_STORE_PASSWORD

LOCAL_PROPERTIES_BASE64 is decoded into the CI local.properties file. The phone signing secrets are then appended into that same file as NUVIO_RELEASE_STORE_FILE, NUVIO_RELEASE_KEY_ALIAS, NUVIO_RELEASE_KEY_PASSWORD, and NUVIO_RELEASE_STORE_PASSWORD so the existing Gradle signing configuration can build the signed Android release APK without additional Gradle changes.

The beta workflow currently publishes normal GitHub releases, not GitHub prereleases, so the in-app updater can discover them on the main channel.

Legal & DMCA

Omnio Mobile functions solely as a client-side interface for browsing metadata and playing media provided by user-installed extensions and/or user-provided sources. It is intended for content the user owns or is otherwise authorized to access.

Omnio Mobile is not affiliated with any third-party extensions, catalogs, sources, or content providers. It does not host, store, or distribute any media content.

Built With

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Kotlin
  • AndroidX Media3
  • AVFoundation and native iOS integrations

Star History

Star History Chart

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages