[ONE General] 1ceb0x:
Hello world,

Welcome to SPRs thread page!

What is SPR Disabler?

SPR stands for Services, Providers and Receivers Disabler. This is a standard shell script that will disable unwanted services, receivers and providers from Google Play Services.

What is the difference between this and other conventional methods?

With this method you don't need to install an extra APP that runs in background. This script allows you to disable stuff you do not want, at boot. The only thing you need for this to work, is a ROM with su and /etc/init.d/ support so you can run the script.

How many SPRs does this disables?

231 as of 10/10/15.

For what version of Google Play Services was this compiled?

Google Play Service v8.1.15.

Do you intend to update this script regularly?

I intend to update this script as time permits.

Will there be a problem with my phone if I use this?

I took extra care to verify the logcat after trying the script on my own phone. The only major problem found right now is that the network location service throws an error:

10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960): Exception
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960): java.lang.SecurityException: need INSTALL_LOCATION_PROVIDER permission, or UID of a currently bound location provider
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at android.os.Parcel.readException(Parcel.java:1546)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at android.os.Parcel.readException(Parcel.java:1499)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at android.location.ILocationManager$Stub$Proxy.reportLocation(ILocationManager.java:1232)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at com.android.location.provider.LocationProviderBase.reportLocation(LocationProviderBase.java:136)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at com.google.android.location.network.NetworkLocationService.onHandleIntent(SourceFile:107)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at android.os.Handler.dispatchMessage(Handler.java:102)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at android.os.Looper.loop(Looper.java:135)
10-09 12:00:09.817: E/GmsNetworkLocationProvi(1960):	at android.os.HandlerThread.run(HandlerThread.java:61)

This error DOES NOT render your phone useless in the sense that the location of your phone will still work without problems (tested with MAPS, WiFI and Data, GPS on also with GPS Test).

The other issue is related to Gmail - when you enter the app, there will be an error from GPS, but don't worry because the app will still work.

How to install this on my phone?

You will need a custom rom with su and init.d support.

1. Place SPRDisabler.sh in your /etc/init.d/ folder and set the correct permissions (Read: Owner, Group and Other / Write: Owner / Execute: Owner, Group and Other)

2. Launch Terminal Emulator (if you do not have this installed on your phone, install it from Play Store)

3. When Terminal is opened, type:

su
./etc/init.d/SPRDisabler.sh

!Please note that those are 2 lines of code that need to be entered in Emulator. The first one is to acquire su permissions and the other one is to run the script!

4. Script will now run!

How to revert back if I don't like it?

There is a shell script in the zip that

will revert back all the disabled SPRs

. Just use the same install method to install the Revert script.

What exactly is disabled?

Chrome Sync
Google OTA updates (you're not a nexus, lol)
Google WiFi Gatherers
Google Usage Reporting
Google CAST feature (to 'share' your screen on TVs or Smart TVs)
Google Pseudonymous
Google Photos backup
Google Phenotype
Google Nearby
Google Kids
Google Help
Google feedback
Google Car (do you own an Android Car?)
Google Fitness
Google Location Reporting
Google ConfigFetch
Google CheckIn
Google Analytics
Google Ads
Google Location Copresence
Google Location Geofencer

What do I actually get afterwards?

You get a slimmed memory footprint for Google Play Services.

Proof?

Google Play Services on a fresh install ROM:

Google Play Services on a fresh install ROM, script applied:

OK, I want it!

https://www.androidfilehost.com/?fid=24052804347834365

Pics in the wild

That's it. I hope you enjoy using this script!