A native Android application that automatically detects and bypasses Spotify advertisements using Shizuku API.
Spotify Ad Skipper monitors Spotify notifications in the background. When an advertisement is detected, it closes Spotify (emulating manual swipe-to-close), relaunches it, and sends a play intent - all automatically.
- Automatic Ad Detection: Monitors Spotify notifications for "Advertisement"
- Queue Preservation: Emulates manual close to preserve Spotify's queue state
- Reliable Relaunch: Uses Shizuku to bypass Android 15 background launch restrictions
- Auto-Play: Sends play intent after relaunch to resume playback
- Battery Efficient: Passive notification listener with zero CPU usage when idle
- Privacy Focused: No data collection, storage, or transmission
- Samsung Optimized: Tested on Samsung One UI 7.0
- Android 9.0 (API 28) or higher
- Spotify App: Official Spotify app installed
- Shizuku App: Required for relaunching from background (Download)
See INSTALLATION.md for complete installation instructions.
Quick summary:
- Install Shizuku and start the service
- Install Spotify Ad Skipper APK
- Grant three permissions (Notification, Shizuku, Battery)
- Done! Ads will be skipped automatically
See PROJECT_SETUP.md for build instructions.
Quick summary:
# Build and install APK
./gradlew installDebug
# Output APK location
# app/build/outputs/apk/debug/app-debug.apkOption A: Download Pre-built (Recommended)
- Download from GitHub Releases
- Look for
spotify-ad-skipper-v1.0.apk
Option B: Build from Source
./gradlew assembleDebug
# Output: app/build/outputs/apk/debug/app-debug.apk- INSTALLATION.md - User installation guide (~10 minutes)
- PROJECT_SETUP.md - Developer build and setup guide
spotify-ad-skipper/
├── app/src/main/java/com/spotify/adskipper/
│ ├── MainActivity.kt # Permission setup UI
│ ├── SpotifyAdListener.kt # Ad detection service
│ ├── ShizukuController.kt # Shizuku API wrapper
│ ├── SpotifyController.kt # Spotify lifecycle manager
│ ├── Result.kt # Type-safe error handling
│ ├── ShizukuStatus.kt # Shizuku status enum
│ └── AdSkipConfig.kt # Configuration data class
├── app/src/test/ # Unit tests
└── app/build.gradle.kts # Build configuration
- Open Spotify Ad Skipper - verify all three checkmarks are green
- Open Shizuku app - verify service is running
- Check battery optimization is disabled
- Restart both apps if needed
Samsung devices:
- Settings → Device Care → Battery → Remove app from "Sleeping apps"
- Settings → Apps → Spotify Ad Skipper → Battery → "Unrestricted"
See INSTALLATION.md for detailed troubleshooting.
This project is provided as-is for educational purposes. Use at your own risk.
This application is not affiliated with, endorsed by, or connected to Spotify AB or Shizuku. All trademarks are the property of their respective owners. The developers assume no liability for any consequences of using this software.
- Shizuku by RikkaApps - Provides the privileged API access
- Spotify - For the music streaming service
- Android Open Source Project - For the platform and documentation