marlboro-advance/mpvEx
A beautiful media player for android, based on mpv-android and built with Jetpack Compose. Forked from mpvKt
About marlboro-advance/mpvEx
marlboro-advance/mpvEx is an open-source project on GitHub, mainly written in Kotlin. A beautiful media player for android, based on mpv-android and built with Jetpack Compose. Forked from mpvKt It currently holds 2,643 stars and 210 forks with 269 open issues, and was last pushed on 2026-09-27 (repository created 2025-11-02).
Project Overview
Git Homed tracks it on the Video Trending board and on the AI Video Trending list.
GitHub Repository Details
README
mpvExtended
mpvExtended is a fork of mpv-android, built on the libmpv library. It aims to combine the powerful features of mpv with an easy to use interface and additional features.
- Simpler and Easier to Use UI
- Material3 Expressive Design
- Advanced Configuration and Scripting
- Enhanced Playback Features
- Picture-in-Picture (PiP)
- Background Playback
- High-Quality Rendering
- Network Streaming
- File Management
- Completely free and open source and without any ads or excessive permissions
- Media picker with tree and folder view modes
- External Subtitle support
- Zoom gesture
- External Audio support
- Search Functionality
- SMB/FTP/WebDAV support
- Custom Playlist management support
---
Installation
Stable Release
Download the latest stable version from the GitHub releases page.Or you can get the stable releases here
Preview Builds
For testing purposes only---
Showcase
---
Building
Prerequisites
- JDK 17
- Android SDK with build tools 34.0.0+
- Git (for version information in builds)
APK Variants
The app generates multiple APK variants for different CPU architectures:
- universal: Works on all devices (larger size)
- arm64-v8a: Modern 64-bit ARM devices (recommended for most users)
- armeabi-v7a: Older 32-bit ARM devices
- x86: Intel/AMD 32-bit devices
- x86_64: Intel/AMD 64-bit devices
Releases
Setting Up Release Signing
To enable automatic signing for release builds in GitHub Actions, you need to configure the following secrets in your GitHub repository:
1. Navigate to your repository on GitHub 2. Go to Settings → Secrets and variables → Actions 3. Add the following repository secrets:
| Secret Name | Description |
|--------------------------|------------------------------------------------------|
| SIGNING_KEYSTORE | Base64-encoded keystore file (.jks or .keystore) |
| SIGNING_KEY_ALIAS | The alias name used when creating the keystore |
| SIGNING_STORE_PASSWORD | Password for the keystore file |
| KEY_PASSWORD | Password for the key (can be same as store password) |
Encoding Your Keystore
To encode your keystore file to base64:
Linux/macOS:
base64 -i your-keystore.jks | tr -d '\n' > keystore.txt
Windows (PowerShell):
[Convert]::ToBase64String([IO.File]::ReadAllBytes("your-keystore.jks")) | Out-File -FilePath keystore.txt -NoNewline
Copy the contents of keystore.txt and paste it as the value for the SIGNING_KEYSTORE secret.
Creating a Release
1. Update versionCode and versionName in app/build.gradle.kts
2. Commit the changes
3. Create and push a tag:
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0
4. GitHub Actions will automatically build, sign, and create a draft release
Creating a Preview Release
1. Create and push a preview tag:
git tag -a v1.0.0-preview.1 -m "Preview release"
git push origin v1.0.0-preview.1
2. GitHub Actions will create a pre-release automatically
---
Acknowledgments
---Support the Project 
If you find mpvExtended useful, consider supporting the development:
---

