ShelfDroid is a third-party Android client for self-hosted Audiobookshelf servers.
Use it to browse your audiobook and podcast libraries, stream playback from your server, keep listening offline on your Android device, and handle common server management tasks from the same app.
Features
- Browse audiobook and podcast libraries from your Audiobookshelf server
- Stream audiobooks and podcast episodes with synced progress
- Download books and episodes for durable offline playback
- Use chapters, bookmarks, sleep timer, playback speed, and player controls
- Manage backups, API keys, users, logs, and server settings when your account has permission
- Review listening sessions and other admin screens available to your account
- Customize sorting, display preferences, and playback settings
Requirements
- An Audiobookshelf server you can sign in to
- Android 10 or newer
ShelfDroid does not provide media, hosting, or a managed server. You bring your own Audiobookshelf library and account.
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 10 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
android.permission.ACCESS_LOCAL_NETWORK
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "dataSync"
Allows the app to make use of foreground services with the type "dataSync"
-
run foreground service with the type "mediaPlayback"
Allows the app to make use of foreground services with the type "mediaPlayback"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
dev.halim.shelfdroid.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
8.2 MiB
PGP Signature
|
Build Log
New in version 0.5.0
Features:
• Add OpenID login support
• Add HTTP login support
• Added Apprise notification rule management for admins
• Added email management
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 10 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "dataSync"
Allows the app to make use of foreground services with the type "dataSync"
-
run foreground service with the type "mediaPlayback"
Allows the app to make use of foreground services with the type "mediaPlayback"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
dev.halim.shelfdroid.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
8 MiB
PGP Signature
|
Build Log
New in version 0.4.8
### Feat
- **RssFeeds**: open rss feed
- **RssFeedScreen**: full implementation
- **MiscScreen**: split into 2 section; server, client
- **HomeScreen**: handle empty state cause by filter
- **RefreshToken**: handle http code 401 for relogin flow
- **BookMatchTab**: add ASIN support for book match tab
### Refactor
- **EditEpisode**: code review changes
- **Prefs**: podcast default sort is progress, desc
- **BookMatchTab**: improve book match ui
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 10 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "dataSync"
Allows the app to make use of foreground services with the type "dataSync"
-
run foreground service with the type "mediaPlayback"
Allows the app to make use of foreground services with the type "mediaPlayback"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
dev.halim.shelfdroid.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
7.9 MiB
PGP Signature
|
Build Log