Hey y'all. As Xposed is not ready for Nougat just yet and since many users don't wish to root I decided to dabble with some apps. Spotify ad free was born from this project.
EDIT:
Note:
**This does not require root. **
Requirements: Android 4.0.3+, no dpi, should work with both arm & arm64 (only lib differences), min API 15
*Edit: Based on feedback there are now two variants of the app: An x86 and an Arm build
Older Changelogs:
Additional notes:
This project is still centered around ad blocking. Other features simply exist because of curiosity and lack of Xposed support on Nougat. Features may break after future updates and I may eventually migrate back to just ad blocking. Also as this was more of a proof of concept/learning build I will update the app when I get the time. I provide no guarantees to support newer Spotify versions. I am currently very busy with school.
There is nothing I can do about offline downloads or exporting downloaded media. These features will never be incorporated even if I could as this project was never intended to replace Spotify Premium. I was annoyed at seeing intrusive ads take over the screen while using the application and as I barely use Spotify anyway I couldn't justify premium. ( I have a Google Play Music subscription). I originally intended to build a native ad blocker (that project is still in the works), however due to limitations on some older devices I owned that could not be rooted, I changed track and began working on a rootless solution. Also I understand that many users with premium are aggravated that they cannot export and easily move around their downloaded media or even play media using another music player. I've looked into this and it is not currently possible. Spotify stores offline media in Ogg Vorbis codec format. They also use their own encryption so only their own player can play the downloaded media. In fact, decryption keys are not stored locally at all. Instead they are individually linked to the subscription holder. So yes, technically in theory the downloaded media can be exported but the exported media will be rendered useless as there is no way of decrypting and playing it.
Also there is nothing that can be done locally to block ads on Chromecast. Chromecast does not mirror your spotify app when you cast. Instead it recognizes the stream and plays it independently, meaning unless you have a premium account there is no way to get rid of ads. I've tested a couple of spoofing methods the last few builds but they all failed as Spotify checks per account. The only alternative atm is to mirror your display or just use bluetooth. If you do that, then it will actually stream from the app itself without triggering any ads.
Android Auto README
The Android Auto app checks where the app was installed from before displaying the app on the Android Auto dashboard. This means that if you didn't install spotify from the play store then it won't just work on Android Auto. The workaround for now is this command via adb.
Read more about it here, Kudos to Mishaal Rahman https://www.xda-developers.com/psa-spotify-and-other-apps-not-working-with-android-auto-heres-a-fix/
Downloads, Updates, Installation & Logs:
Installation:
1. Download the apk
2. Install the apk
(Pretty straightforward isn't it )
(It would be greatly appreciated and very helpful if people could provide feedback, preferably including your device model and if there are crashes or lags or god forbid, any ads, provide a log via adb or an app like matlog)
*Note: I don't have the time to merge in requests and other features atm. I'm too busy with work and school right now. Rebasing on the other hand is fast and mostly automated on my end as recent Spotify releases have generally been very minor incremental improvements. Just need to pull new builds from apkmirror and I have a script setup to apply most of the patches. Since I don't really use Spotify anymore (Play Music is where it's at ), I rely on you guys for logs and feedback. Anyways, if something is screwed up, then please capture a log and let me know so I can take a look at it, otherwise I am assuming that everything is okay.
Keep up with updates: MOD Edit :- Links Removed
Telegram Discussion channel: MOD Edit :- Links Removed
Telegram ci channel: MOD Edit :- Links Removed
Note: MOD Edit :- Content Removed
Latest supported release: [ARM] v.8.4.36.321.b.27526084
Latest supported release: [x86] v.8.4.32.623.b.26478414
Latest experimental TEST build: v.8.4.18.726.b.22808707
*Note: "Stable" is based on the latest Play release while "Experimental" is based on the latest beta build pulled from apk mirror.
*Update: Stable and Beta releases from Spotify are now both marked as "stable". Patches work fine on both versions. If I mark something as "Experimental", then that means that certain patches aren't working right or there are other issues that need to be ironed out first.
Downloads:
[ARM] Stable Adfree: Link Removed
[x86] Stable Adfree: Link Removed
Experimental Builds: Link Removed
All builds: Link Removed
Donation: (You really don't need to, but if you really want to here ya go, it'll certainly be appreciated and help fund projects and costs. https://paypal.me/guitar1238751
Credits & Thanks:
Huge thanks to:
- sbeb
-snakewall
- mateok.
Without these awesome guys this project would not have been possible.
Contributers: @guitar1238751
**PS: Patched YouTube coming soon... **
EDIT:
Note:
**This does not require root. **
Requirements: Android 4.0.3+, no dpi, should work with both arm & arm64 (only lib differences), min API 15
*Edit: Based on feedback there are now two variants of the app: An x86 and an Arm build
Code:
/*Features: */
-Hooray no more ads!
- built in ota downloader - new builds will be available for download on your device immediately after I upload them [B] Edit: Ota has been discontinued, many users experienced FCs while downloading new builds and hosting each build was costing a bit more than I expected) [/B]
[B][COLOR="Red"] Where's everything else? That's it. This project is NOT intended to replace Spotify Premium.[/COLOR][/B]
Code:
[SIZE="4"][1/13/18] /*Changelog: */[/SIZE]
Change: [ARM] rebase to v.8.4.36.321.b.27526084
Code:
[SIZE="4"][1/12/18] /*Changelog: */[/SIZE]
Change: [ARM] rebase to v.8.4.35.152.b.27263433
[SIZE="4"][12/29/17] /*Changelog: */[/SIZE]
Change: [ARM] rebase to v.8.4.33.536.b.26740297
Change: [Android TV] rebase to .v.1.6.3.b.1060300
[SIZE="4"][11/24/17] /*Changelog: */[/SIZE]
Change: [ARM] rebase to 8.4.28.875.b.25430594
Change: [x86] rebase to 8.4.28.875.b.25430594
[SIZE="4"][11/18/17] /*Changelog: */[/SIZE]
Change: [ARM] rebase to v.8.4.27.845.b.25168360
Change: [x86] rebase to v.8.4.25.771.b.24643850
Change: [Android TV] rebase to v.1.6.1.b.1060100
[SIZE="4"][10/21/17] /*Changelog: */[/SIZE]
Change: [ARM] Rebase to 8.4.24.871.b.24382006
[SIZE="4"][10/16/17] /*Changelog: */[/SIZE]
Change: rebase to 8.4.23.740.b.24119469 [ARM]
*Note: x86 builds will be up soon. You may have to uninstall the previous build if you are running a build pre 8.4.22.857. Also from now on beta & stable builds won't be separate. Everything works fine on both builds. If something is really broken and things need to be tested first, then I'll mark it as experimental, otherwise the lastest build I pull from apkmirror , whether it be beta or stable, will be marked as a stable working adfree release
[SIZE="4"][10/4/17] /*Changelog: */[/SIZE]
Change: [ARM] rebase stable to 8.4.22.857.b.23857676
Note: x86 build will be up
[SIZE="4"][9/24/17] /*Changelog: */[/SIZE]
Change: Based on feedback there are now two variants of the app: An x86 and an Arm build
Change: rebase stable to 8.4.19.792.s
Change: rebase experimental to 8.4.21.495.b.23594446
[SIZE="4"][9/13/17] /*Changelog: */[/SIZE]
Change: rebase experimental to 8.4.19.788.b.23071037
Fix: revert opt.cl patch
Fix: More changes to remove ads
[SIZE="4"][9/9/17] /*Changelog: */[/SIZE]
Change: rebase stable to 8.4.18.743.s
Change: rebase experimental to 8.4.19.781.b.23071016
Fix: more changes to remove ads
[SIZE="4"][9/2/17] /*Changelog: */[/SIZE]
Change: rebase stable to v.8.4.17.640.s.22546305
Change: rebase experimental to v.8.4.18.726.b.22808707
Change: new pattern to remove ads
Fix: (again) completely remove "watch 30 second video for 30 minutes of adfree streaming"
[SIZE="4"][9/1/17] /*Changelog: */[/SIZE]
Change: rebase stable to v.8.4.16.781.s
Change: revert package back to com.music.spotify
[SIZE="4"][8/25/17] /*Changelog: */[/SIZE]
Change: rebase stable to 8.4.14.439.s
Change: rebase experimental to 8.4.17.626.b
[SIZE="4"][8/20/17] /*Changelog: */[/SIZE]
[Master]
Change: rebase to 1283.s
Change: migrate to opt 814642.vl2 pts
Change: new app icon
Feature: [Experimental] Force location to US, this should let Spotify work anywhere, regardless of location restrictions
Feature: added a welcome message (dismisable)
Feature: added quick settings tile
Fix: *null() Home feed
Fix: white on white text
Fix: random FCs while connecting to bluetooth & Chromecast
Fix: UI hang while casting (reverting to old method fixes it)
Fix: missing languages (only en_US applying)
Fix: [Experimental] location randomly reverting to device default
Fix: other misc bug fixes
Fix: some more code cleanup
[SIZE="4"][8/9/17] /*Changelog: */[/SIZE]
Change: rebase stable to v.8.4.11.1283
Change: rebase experimental to v.8.4.14.404.b
[SIZE="4"][7/30/17] /*Changelog: */[/SIZE]
Change: rebase stable to v.8.4.9.271
Change: rebase experimental to v.8.4.11.1277.b
Change: switched back channels
Change: package name - com.spotifyadfree.music
Fix: FC for MIUI users
Fix: completely removed "30 minutes for adfree" popup
Fix: random hang during chromecast
Fix: [ALPHA] another opt patchset for Chromecast (please provide logs and feedback)
Fix: removed more unnecessary code
[SIZE="4"][6/11/17]/*Changelog: */[/SIZE]
Fix: an issue where an ad appeared that forced users to watch a video for '30 minutes of adfree streaming'
Fix: an issue where ads would fail to load, resulting in a 'black screen' of death
Fix: an issue where the app would hang and then fc
Fix: videos fail to load
Fix: [Experimental] persistent ads on chromecast
Fix: some code cleanup/removed some more unnecessary libs
Fix: other minor optimizations
[SIZE="4"][5/13/17]/*Changelog: */[/SIZE]
Change: [Experimental] another patch for location spoofing
Fix: [Experimental] replace persistent ads with black banner
Fix: [Experimental] Fc loop after force closing an ad
Fix: lag while casting
[Older changelogs removed]
[3/17/17-5/13/17]
Too many experimental builds and patches intially to keep track of here, look through thread and afh/basketbuild for old builds and changelogs.
[SIZE="4"]Upcoming changes:[/SIZE] */ [B][COLOR="Red"] [/COLOR][/B]
Fix: remove upgrade banners
Fix: replace " premium only popup" with transparent overlay
[STRIKE]Fix: keep ad blocking persistent after updates (really depends on Spotify's end but from what I've seen from recent releases I think I have it somewhat working, well at least for now anyways)[/STRIKE] Until then keep auto update disabled for Spotify in the Play Store. [B][COLOR="Red"] Edit: Completely broken, worked last release but Spotify has patched it up, now requires manual editing again each release [/B][/COLOR]
Feature: added quickshare button
Feature: **New package name**-Users will now be able to use this version of Spotify simultaneously with other Spotify instances. This is for users who do not wish to deal with auto updates and features breaking or who just want to use this patched version simultaneously with an official build or if a device comes preinstalled with Spotify as a system app.
Feature: [ALPHA] lockscreen blurred media playback option directly embedded within app settings
[/Hide]
Additional notes:
This project is still centered around ad blocking. Other features simply exist because of curiosity and lack of Xposed support on Nougat. Features may break after future updates and I may eventually migrate back to just ad blocking. Also as this was more of a proof of concept/learning build I will update the app when I get the time. I provide no guarantees to support newer Spotify versions. I am currently very busy with school.
There is nothing I can do about offline downloads or exporting downloaded media. These features will never be incorporated even if I could as this project was never intended to replace Spotify Premium. I was annoyed at seeing intrusive ads take over the screen while using the application and as I barely use Spotify anyway I couldn't justify premium. ( I have a Google Play Music subscription). I originally intended to build a native ad blocker (that project is still in the works), however due to limitations on some older devices I owned that could not be rooted, I changed track and began working on a rootless solution. Also I understand that many users with premium are aggravated that they cannot export and easily move around their downloaded media or even play media using another music player. I've looked into this and it is not currently possible. Spotify stores offline media in Ogg Vorbis codec format. They also use their own encryption so only their own player can play the downloaded media. In fact, decryption keys are not stored locally at all. Instead they are individually linked to the subscription holder. So yes, technically in theory the downloaded media can be exported but the exported media will be rendered useless as there is no way of decrypting and playing it.
Also there is nothing that can be done locally to block ads on Chromecast. Chromecast does not mirror your spotify app when you cast. Instead it recognizes the stream and plays it independently, meaning unless you have a premium account there is no way to get rid of ads. I've tested a couple of spoofing methods the last few builds but they all failed as Spotify checks per account. The only alternative atm is to mirror your display or just use bluetooth. If you do that, then it will actually stream from the app itself without triggering any ads.
Android Auto README
The Android Auto app checks where the app was installed from before displaying the app on the Android Auto dashboard. This means that if you didn't install spotify from the play store then it won't just work on Android Auto. The workaround for now is this command via adb.
Code:
pm install*-i*"com.android.vending"*-r/sdcard/(file location of where you saved the spotify apk)
/*This changes "com.google.android.packageinstaller" to "com.android.vending" so that Android Auto thinks Spotify is installed from the Play store and not sideloaded. */
Read more about it here, Kudos to Mishaal Rahman https://www.xda-developers.com/psa-spotify-and-other-apps-not-working-with-android-auto-heres-a-fix/
Downloads, Updates, Installation & Logs:
Installation:
1. Download the apk
2. Install the apk
(Pretty straightforward isn't it )
(It would be greatly appreciated and very helpful if people could provide feedback, preferably including your device model and if there are crashes or lags or god forbid, any ads, provide a log via adb or an app like matlog)
*Note: I don't have the time to merge in requests and other features atm. I'm too busy with work and school right now. Rebasing on the other hand is fast and mostly automated on my end as recent Spotify releases have generally been very minor incremental improvements. Just need to pull new builds from apkmirror and I have a script setup to apply most of the patches. Since I don't really use Spotify anymore (Play Music is where it's at ), I rely on you guys for logs and feedback. Anyways, if something is screwed up, then please capture a log and let me know so I can take a look at it, otherwise I am assuming that everything is okay.
Keep up with updates: MOD Edit :- Links Removed
Telegram Discussion channel: MOD Edit :- Links Removed
Telegram ci channel: MOD Edit :- Links Removed
Note: MOD Edit :- Content Removed
Latest supported release: [ARM] v.8.4.36.321.b.27526084
Latest supported release: [x86] v.8.4.32.623.b.26478414
Latest experimental TEST build: v.8.4.18.726.b.22808707
*Note: "
*Update: Stable and Beta releases from Spotify are now both marked as "stable". Patches work fine on both versions. If I mark something as "Experimental", then that means that certain patches aren't working right or there are other issues that need to be ironed out first.
Downloads:
[ARM] Stable Adfree: Link Removed
[x86] Stable Adfree: Link Removed
Experimental Builds: Link Removed
All builds: Link Removed
Donation: (You really don't need to, but if you really want to here ya go, it'll certainly be appreciated and help fund projects and costs. https://paypal.me/guitar1238751
Credits & Thanks:
Huge thanks to:
- sbeb
-snakewall
- mateok.
Without these awesome guys this project would not have been possible.
Contributers: @guitar1238751
**PS: Patched YouTube coming soon... **
Last edited by a moderator: