A wonderful player for your M4B/M4A/MP3 based audiobooks. Native Android app built with Kotlin and Jetpack Compose, sharing the same backend (sync, accounts and subscriptions) as BookPlayer for iOS.
See CONTRIBUTING.md for setting up the project, and docs/ for our
testing and debugging guides.
- Share audio files, video files and zip archives into BookPlayer from Files or any other app
- Pick individual files or whole folders from your device's storage
- Download or stream audiobooks from your own AudiobookShelf or Jellyfin server, including Quick Connect and single sign-on
- Zip and LPF archives are supported and are turned into folders automatically
- Maintain and see progress of your books
- Mark books as finished
- Drag & Drop to sort your library
- Create folders
- Automatically play items in turn
- Move files to folders from the library or import them directly
- Edit titles, authors and artwork
- Multiselect to move, delete or edit several items at once
- Automatically track your library on Hardcover
- Control audio playback from the notification and the lock screen
- Android Auto support
- Home screen widget, plus pinned and dynamic shortcuts to jump straight into a book
- Play and navigate books with chapters
- Bookmarks
- Change playback speed and skip intervals
- Smart rewind
- Volume Boost
- Support for remote events from headset buttons and the lock screen
- Sleep timer with adjustable duration, or until the end of the current chapter
- Support for TalkBack
- Dark mode for night owls
- Cloud sync
- Stand-alone playback on your Wear OS watch, with a tile and watch face complications
- Support Open Source development
- Additional color themes
- Select from alternative App Icons
See our Roadmap on GitHub for details.
- English
- Arabic
- Chinese Simplified
- French
- German
- Hindi
- Italian
- Japanese
- Korean
- Russian
- Spanish
Pull requests and ideas are always welcomed. Please open an issue if you have any suggestions or found a bug. 👍 See our Contribution Guidelines for details, including how to set up your local environment.
If you enjoy BookPlayer, we would be glad if you consider writing a review on Google Play.
- Clone the repository and open it in Android Studio (Koala or newer).
- Copy
local.properties.exampletolocal.properties. Thedevflavor builds with no further setup; fill inGOOGLE_CLIENT_ID,SENTRY_DSNorREVENUECAT_API_KEYonly if you want to exercise those features. - Select the devDebug build variant, then Build and Run.
Release signing is optional and only needed to produce signed builds — see keystore.properties.example.
- @GianniCarlo - Original Idea & Creation
- @Hirobreak - Android app
A full list of all contributors can be found on GitHub.
Join us on our Discord server if you want to contribute or talk to other people using BookPlayer. Bugs and feature requests belong in the #bugs-and-feedback forum channel there, or in a GitHub issue — please don't report them in the chat channels. The maintainers drop by once in a while, but a chat is not a bugtracker.
Managed with Gradle through the version catalog
- AndroidX Media3 (ExoPlayer + MediaSession) for playback
- Jetpack Compose with Material 3 for the UI, and Wear Compose, Tiles and ProtoLayout for the watch app
- Room for local persistence
- DataStore for settings
- Retrofit, OkHttp and Gson for the BookPlayer API and media servers
- AndroidX Credentials and Google Identity for passkeys and Sign in with Google
- AndroidX Browser for the AudiobookShelf single sign-on flow
- Coil for artwork loading and caching
- Google Play Billing and RevenueCat for managing in-app purchases
- Sentry for crash reporting
- Konfetti for celebration effects
- JUnit, Robolectric and MockWebServer for tests
Licensed under GNU GPL v. 3.0. See LICENSE for details.

