Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump com.google.android.gms (fixes #482 #526 #543) #553

Closed
wants to merge 1 commit into from
Closed

Bump com.google.android.gms (fixes #482 #526 #543) #553

wants to merge 1 commit into from

Conversation

ClearlyClaire
Copy link
Contributor

As far as I know, this is enough to make SafetyNet pass (as long as the correct droidguard VM is downloaded, which is only the case for ARMv7 devices).

Therefore, this should fix #482 (as well as the duplicates #526 and #543)

@TheCodeDestroyer
Copy link

This will probably fix more than just those 3 issues. Is @mar-v-in the only person in this organization who can accept PRs?

@ArchangeGabriel
Copy link
Contributor

@ThibG So have you tested this on an ARMv7 device, and does it actually works for SafetyNet?

@ClearlyClaire
Copy link
Contributor Author

@ArchangeGabriel yes.

Copy link

@Roboe Roboe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bumping the version code should fix #556, #557, #541, #527 too

@@ -65,7 +65,7 @@ android {
versionName getMyVersionName()
def x = getMyVersionCode() - 367
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you look at the latest version bump commits, you could see that this hardcoded number changes too to some (random?) value lower than getMyVersionCode(), which is calculated with git rev-list --count HEAD and it's currently 372.

@@ -65,7 +65,7 @@ android {
versionName getMyVersionName()
def x = getMyVersionCode() - 367
// We are not allowed to freely choose the hundreds column as it defines the device type
versionCode(12221400 + x % 100 + ((int) (x / 100)) * 1000)
versionCode(12688000 + x % 100 + ((int) (x / 100)) * 1000)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// We are not allowed to freely choose the hundreds column as it defines the device type

So shouldn't this be 12688400 then?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Roboe Latest versions changed the version code scheme, so that it's no longer required to have version code ending on 4xx.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, great. Then the comment should be removed, for avoiding mistakes like mine above.

@ghost
Copy link

ghost commented Jun 15, 2018

This might fix #556 too

@Roboe
Copy link

Roboe commented Jun 15, 2018

Quoting my own review comment above to force GitHub to announce this PR in related issues:

Bumping the version code should fix #556, #557, #541, #527 too

@ghost
Copy link

ghost commented Jun 16, 2018

Tested this myself, this does fix GBoard (#556)

@Catfriend1
Copy link

Yeah, lgtm please

@pascalwhoop
Copy link

This organization desperately needs more than one maintainer

@tuxayo
Copy link

tuxayo commented Jul 5, 2018

This organization desperately needs more than one maintainer

Indeed. Meanwhile, we can donate so eventually @mar-v-in and/or a future additional maintainer could dedicate more time to this. Considering the userbase and importance of the project, we can totally fund a decent number of hours of worktime per week.

https://liberapay.com/microG/
https://salt.bountysource.com/teams/microg

@pascalwhoop
Copy link

pascalwhoop commented Jul 5, 2018 via email

@tuxayo
Copy link

tuxayo commented Jul 5, 2018

@pascalwhoop Only the project but there is only one member on the team so it's the same.
Whatever happens, considering the past work that went unpaid, any donation won't be lost ;)
It's almost like we have a huge debt ^^ (compared as if we had to pay the development in advance)

And any donation now can only motivate to free more time for the project. Or at least it will prepare the ground for other member joining the team.

@Catfriend1
Copy link

@mar-v-in Could you please give us an update on maintainer status and if there will be a backup person that can jump in?

@mar-v-in
Copy link
Member

mar-v-in commented Jul 15, 2018

I am still their to maintain, but I won't refuse a co-maintainer, in case there is one willing and interested in the constantly changing tech behind GMS.

The version bump does not really solve all issues. microG is currently incompatible with this version of GMS. Bumping version will cause additinal issues with push notifications. Unfortunately the fix is quiet some work.

@julienschmidt
Copy link
Contributor

julienschmidt commented Jul 15, 2018

I think at this point this project very much depends on your knowledge @mar-v-in, but as I understand you unfortunately lack the time to actively work on it.
I guess a co-maintainer, who especially handles all the incoming bug reports (i.e. answers questions, closes invalid ones and makes sure that there are no duplicates) and pull requests, would save you a lot of time and would make our phones a little less broken. I personally think @ale5000-git would be a good candidate for that.

(This discussion is however OT, maybe we continue in a separate issue, if you have any further comments and suggestions?)

@ale5000-git
Copy link
Member

ale5000-git commented Jul 15, 2018

@mar-v-in
If you want I can help.
I'm a programmer but mainly in other languages; in Java I can only do simple things for now.

@Namnodorel
Copy link

@mar-v-in Happy to see you're still alive :) Are there any resources (besides manually reverse-engineering) you can point us to regarding how that stuff works / what is changing?
If it were easier to get an idea of what needs to be done, I think generally useful contributions would be easier to make.

Besides, I agree on @ale5000-git being a great candidate as a maintainer, he's been helping people out and trying to figure things out actively for some time now :)

@4parthy
Copy link

4parthy commented Jul 20, 2018

Hi, I used docker image to build los for microg 15.1 for klte (armv7) with this repo https://github.com/steamp0rt/android_prebuilts_prebuiltapks/commit/cead122774449960bbd1271e161f884191bdbf0e
No root and Moved droidGuard from microg fdroid repo to apps-priv
Cannot pass safetynet :(
Please tell me where can I find droidGuard log files. How can I make this work or help to make it work?
Big thanks for microg!

@ghost
Copy link

ghost commented Jul 20, 2018

@4parthy My pre-built APK is just made to stop things from freaking out about outdated google play services

@4parthy
Copy link

4parthy commented Jul 20, 2018

:face_palm: oh boy there I thought i saw the same changes but it was just the number that was the same. There is probably no way to find those changes in a pre built anyways. Sry for the bump and thanks. Back to building...

@cRaZy-bisCuiT
Copy link

So will we see this merged soon? Everyone relying on Apps which requite GCM & stuff can't use those anymore.... >.<

@Catfriend1
Copy link

@cRaZy-bisCuiT Hey, that's not true. My apps run even the popup is shown about outdated GMS. I dismiss the popup by clicking beside it and the apps run. It's just annoying but no show stopper.

@drrossum
Copy link

@cRaZy-bisCuiT Why don't you just downgrade the app that is whining to a version just old enough to not whine? Many devs release app updates way to often anyway. How often do you notice a significant change after an update?

I often only update an app when it shows issues and that suits /me, personally/ very well.

@cRaZy-bisCuiT
Copy link

Hey guys! For me it's a show stopper since I newly deployed a mobile handset and I don't have old versions/apks left. It doesn't feel convenient to receive those versions from shady sources.

In addition: The apps may run, but like e.g. Telegram doesn't use GCM anymore like this and drains massively the battery which is a no-go.

If everything would be running I'd freeze updates until the app forces me to update to use the service. In this case, it's not possible.

@Catfriend1
Copy link

@cRaZy-bisCuiT You can look at apkmirror or if your app - like Telegram - is also available on F-Droid without gcm libraries. Telegram FOSS is a good alternative. I recommend you backup your /data/app partition by adb backup (including apk's) before switching over to a new phone which makes reinstalling the right apk versions more convenient.

@cRaZy-bisCuiT
Copy link

Thanks for the advice of the backup. I've done this before. Unfortunately I have no microG phone to do so atm.

In addition, Telegram FOSS is no alternative to me since I have to chose between getting no notifications (battery optimization) or getting notifications but battery drain when letting the app work in background and getting massive wakelogs.

It seems like we will have to wait. It's very unfortunate that there's just one maintainer. We really need to step up the game if we want to make people leaving gapps behind.

How would be the procedure to apply for being a maintainer? Also: How does the updates from Github find there way to F-Droid / LineageOS for MicroG?

@drrossum
Copy link

old versions are not illegal and their sources don't need to be very shady. I compare checksums from multiple sources in case of doubt. But hey, running your android without official play services may come to some costs, but this one feels not hard to get by.

@Catfriend1
Copy link

@cRaZy-bisCuiT To fix the battery drain, I discovered it helps disabling all gms services in apps which are not supported by the current microg version. No guarantee but for me it worked. Telegram FOSS has a backrgound service and drains my battery < 1% during an hour being on the mobile network.

Example from my boot shell script:

setupServices()
{
#
# Setup Services.
#
echo "setupServices: [INFO] Performing pm, am service config ..."
#
# Google Play Store.
pm disable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingJobScheduler$CheckPreconditionsAndAutoUpdateJobService
pm disable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager$CheckWifiAndAutoUpdate
pm disable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingBroadcast$AutoUpdateRecheckForBroadcast
pm disable com.android.vending/com.google.android.finsky.autoupdate.impl.ReschedulerUsingAlarmManager$CheckWifiAndAutoUpdate
pm disable com.android.vending/com.google.android.finsky.autoupdate.impl.ReschedulerUsingJobScheduler$CheckPreconditionsAndAutoUpdateJobService
pm disable com.android.vending/com.google.android.finsky.dailyhygiene.DailyHygiene$DailyHygieneService
pm disable com.android.vending/com.google.android.finsky.selfupdate.SelfUpdateCheckerScheduler$SelfUpdateCheckerTaskService
pm disable com.android.vending/com.google.android.finsky.services.DailyHygiene
pm disable com.android.vending/com.google.android.finsky.services.DailyHygiene$DailyHygieneService
pm disable com.android.vending/com.google.android.finsky.services.PackageUpdateService
pm disable com.android.vending/com.google.android.finsky.services.GmsCoreUpdateService
pm disable com.android.vending/com.google.android.finsky.updatechecker.impl.ReschedulerUsingAlarmManager$CheckWifiAndAutoUpdate
pm disable com.android.vending/com.google.android.finsky.updatechecker.impl.ReschedulerUsingJobScheduler$CheckPreconditionsAndAutoUpdateJobService
#
# APPV_GPLAY >= 8
pm disable com.android.vending/com.google.android.finsky.DfeNotificationManagerImpl$SelfUpdateNotificationTaskService
pm disable com.android.vending/com.google.android.finsky.hygiene.DailyHygiene$DailyHygieneService
#
# Restart GPlay Services
am force-stop com.android.vending
#
# Outdated - Hide installed apps from play store to prevent them showing in the updates list.
# GPLAY_DB_LIBRARY="/data/data/com.android.vending/databases/library.db"
# GPLAY_DB_LOCAL_APPSTATE="/data/data/com.android.vending/databases/localappstate.db"
# GPLAY_DB_PACKAGE_VERIFICATION="/data/data/com.android.vending/databases/package_verification.db"
# #
# sqlite3 "${GPLAY_DB_LIBRARY}" "DELETE from ownership where doc_id='com.oneandone.android.weatherwidget'"
# sqlite3 "${GPLAY_DB_LOCAL_APPSTATE}" "DELETE from appstate where package_name='com.oneandone.android.weatherwidget'"
# sqlite3 "${GPLAY_DB_PACKAGE_VERIFICATION}" "DELETE from verification_cache where package_name='com.oneandone.android.weatherwidget'"
# sqlite3 "${GPLAY_DB_PACKAGE_VERIFICATION}" "DELETE from verification_cache where package_name='cn.wps.moffice_eng'"
# sqlite3 "${GPLAY_DB_PACKAGE_VERIFICATION}" "DELETE from verification_cache where package_name='org.scummvm.scummvm'"
#
#
# AquaMail
pm disable org.kman.AquaMail/com.google.firebase.iid.FirebaseInstanceIdService
pm disable org.kman.AquaMail/com.google.firebase.messaging.FirebaseMessagingService
#
# AutoNotification Unlock Key
pm disable com.joaomgcd.autonotification.unlock/com.google.android.gms.analytics.AnalyticsService
#
# Audible
pm disable com.audible.application/com.google.android.gms.measurement.AppMeasurementService
pm disable com.audible.application/com.google.firebase.iid.FirebaseInstanceIdService
pm disable com.audible.application/com.audible.application.push.gcm.GcmInstanceIdService
pm disable com.audible.application/com.audible.application.push.gcm.GcmMessageService
pm disable com.audible.application/com.audible.application.push.gcm.GcmTokenService
#
# Bria VoIP
# pm disable com.bria.voip/com.google.android.gms.measurement.AppMeasurementService
#
# Bubble UPnP
pm disable com.bubblesoft.android.bubbleupnp/com.google.android.gms.measurement.AppMeasurementService
pm disable com.bubblesoft.android.bubbleupnp/com.google.firebase.iid.FirebaseInstanceIdService
#
# DB Navigator
pm disable de.hafas.android.db/com.firebase.jobdispatcher.GooglePlayReceiver
pm disable de.hafas.android.db/com.google.android.gms.analytics.AnalyticsService
pm disable de.hafas.android.db/com.google.android.gms.auth.api.signin.RevocationBoundService
pm disable de.hafas.android.db/com.optimizely.ab.android.event_handler.EventIntentService
pm disable de.hafas.android.db/com.optimizely.ab.android.shared.JobWorkService
pm disable de.hafas.android.db/com.optimizely.ab.android.shared.ScheduledJobService
pm disable de.hafas.android.db/de.bahn.dbnav.config.ConfigDownloadService
pm disable de.hafas.android.db/de.bahn.dbtickets.service.gcm.GcmListenerService
pm disable de.hafas.android.db/de.bahn.dbtickets.service.gcm.InstanceIDListenerService
pm disable de.hafas.android.db/de.bahn.dbtickets.service.gcm.RegistrationIntentService
#
# Domoticz Pro
pm disable nl.hnogames.domoticz.premium/com.google.android.gms.analytics.AnalyticsService
pm disable nl.hnogames.domoticz.premium/com.google.android.gms.measurement.AppMeasurementService
pm disable nl.hnogames.domoticz.premium/com.google.firebase.iid.FirebaseInstanceIdService
pm disable nl.hnogames.domoticz.premium/com.google.firebase.messaging.FirebaseMessagingService
#
# Ernaehrung - Kalorien Fett Eiweisszaehler
pm disable digifit.virtuagym.foodtracker/com.google.android.gms.analytics.AnalyticsService
pm disable digifit.virtuagym.foodtracker/com.google.android.gms.measurement.AppMeasurementJobService
pm disable digifit.virtuagym.foodtracker/com.google.android.gms.measurement.AppMeasurementService
pm disable digifit.virtuagym.foodtracker/com.google.android.gms.analytics.CampaignTrackingService
pm disable digifit.virtuagym.foodtracker/com.google.firebase.iid.FirebaseInstanceIdService
#
# Firefox
# Firefox 61.0
pm disable org.mozilla.firefox/com.leanplum.LeanplumLocalPushListenerService
pm disable org.mozilla.firefox/com.leanplum.LeanplumPushInstanceIDService
pm disable org.mozilla.firefox/com.leanplum.LeanplumPushRegistrationService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.cleanup.FileCleanupService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.customtabs.GeckoCustomTabsService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.dlc.DownloadContentService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.fxa.authenticator.FxAccountAuthenticatorService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.fxa.receivers.FxAccountDeletedService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.fxa.sync.FxAccountProfileService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.fxa.sync.FxAccountSyncService
pm disable org.mozilla.firefox/org.mozilla.gecko.gcm.GcmInstanceIDListenerService
pm disable org.mozilla.firefox/org.mozilla.gecko.gcm.GcmMessageListenerService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.GeckoService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.gfx.SurfaceAllocatorService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.media.MediaControlService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.media.MediaManager
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.notifications.NotificationService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.overlays.service.OverlayActionService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.process.GeckoServiceChildProcess$geckomediaplugin
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.process.GeckoServiceChildProcess$tab
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.RemotePresentationService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.Restarter
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.tabqueue.TabQueueService
# 61.0 must-stay-enabled pm disable org.mozilla.firefox/org.mozilla.gecko.tabqueue.TabReceivedService
pm disable org.mozilla.firefox/org.mozilla.gecko.telemetry.TelemetryUploadService
pm disable org.mozilla.firefox/org.mozilla.gecko.updater.UpdateService
pm disable org.mozilla.firefox/org.mozilla.mozstumbler.service.uploadthread.UploadAlarmReceiver$UploadAlarmService
pm disable org.mozilla.firefox/org.mozilla.mozstumbler.service.stumblerthread.StumblerService
#
# FolderSync Pro
pm disable dk.tacit.android.foldersync.full/com.google.android.gms.measurement.AppMeasurementService
pm disable dk.tacit.android.foldersync.full/com.google.firebase.iid.FirebaseInstanceIdService
pm disable dk.tacit.android.foldersync.full/com.google.firebase.messaging.FirebaseMessagingService
#
# Google Earth
pm disable com.google.earth/com.google.android.apps.earth.notifications.EarthFirebaseInstanceIdService
pm disable com.google.earth/com.google.android.apps.earth.notifications.EarthFirebaseMessagingService
pm disable com.google.earth/com.google.firebase.iid.FirebaseInstanceIdService
pm disable com.google.earth/com.google.firebase.messaging.FirebaseMessagingService
#
# Google Mail - GMail
pm disable com.google.android.gm/com.google.firebase.iid.FirebaseInstanceIdService
#
# Google Tabellen
pm disable com.google.android.apps.docs.editors.sheets/com.google.android.gms.analytics.AnalyticsService
#
# Google Tastatur - GBoard
# GBoard 6.7.15
pm disable com.google.android.inputmethod.latin/com.firebase.jobdispatcher.GooglePlayReceiver
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.apps.inputmethod.libs.dataservice.superpacks.SuperpacksTaskService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.apps.inputmethod.libs.dvrnn.trainingservice.DvrnnTrainingJobService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.apps.inputmethod.libs.dvrnn.trainingservice.DvrnnTrainingRpcService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.apps.inputmethod.libs.framework.core.FirebaseJobDispatcherImpl$TaskRunnerJobService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.apps.inputmethod.libs.framework.core.JobSchedulerImpl$TaskRunnerJobService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.apps.inputmethod.libs.latin5.debug.TrustedTestService
pm disable com.google.android.inputmethod.latin/com.google.android.gms.analytics.CampaignTrackingService
pm disable com.google.android.inputmethod.latin/com.google.android.gms.auth.api.signin.RevocationBoundService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.libraries.micore.apps.inputmethod.contextual.UserActionNotificationIntentService
pm disable com.google.android.inputmethod.latin/com.google.android.libraries.micore.superpacks.scheduling.FirebaseTaskService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.libraries.micore.training.cache.service.TrainingCacheErasureJobService
# 6.7.15 must-stay-enabled pm disable com.google.android.inputmethod.latin/com.google.android.libraries.micore.training.cache.service.TrainingCacheManagerService
pm disable com.google.android.inputmethod.latin/com.google.firebase.iid.FirebaseInstanceIdService
#
# Google Translate - Uebersetzer
pm disable com.google.android.apps.translate/com.google.analytics.tracking.android.CampaignTrackingService
#
# Google TTS Text-to-Speech
# Google TTS 3.14.7
pm disable com.google.android.tts/com.google.android.gms.analytics.AnalyticsService
#
# Jira Mobile Pro
pm disable com.infosysta.mobile.jirapro/com.appcelerator.aps.APSAnalyticsService
pm disable com.infosysta.mobile.jirapro/br.com.arlsoft.pushclient.GCMIntentService
#
# Komoot
# pm disable de.komoot.android/com.instabug.crash.network.InstabugCrashesUploaderService
# pm disable de.komoot.android/com.instabug.library.network.worker.uploader.InstabugSessionUploaderService
# pm disable de.komoot.android/com.instabug.library.internal.video.VideoProcessingService
# pm disable de.komoot.android/com.instabug.library.analytics.network.InstabugAnalyticsUploaderService
# pm disable de.komoot.android/com.instabug.library.bugreporting.network.InstabugBugsUploaderService
# pm disable de.komoot.android/com.instabug.library.network.worker.fetcher.InstabugFeaturesFetcherService
# pm disable de.komoot.android/com.instabug.library.messaging.InstabugMessageUploaderService
# pm disable de.komoot.android/com.instabug.survey.network.service.InstabugSurveysSubmitterService
# pm disable de.komoot.android/com.google.android.gms.analytics.AnalyticsJobService
# pm disable de.komoot.android/com.google.android.gms.measurement.AppMeasurementService
# pm disable de.komoot.android/com.google.android.gms.analytics.AnalyticsService
# pm disable de.komoot.android/com.google.android.gms.measurement.AppMeasurementJobService
# pm disable de.komoot.android/com.google.android.gms.analytics.CampaignTrackingService
#
# Linphone
pm disable org.linphone/org.linphone.firebase.FirebaseIdService
pm disable org.linphone/org.linphone.firebase.FirebaseMessaging
#
# Media Scanner - Fix battery drain caused by invalid image files
pm disable com.android.providers.media/com.android.providers.media.MediaScannerService
#
# MX Player Pro
pm disable com.mxtech.videoplayer.pro/com.google.android.gms.analytics.AnalyticsService
pm disable com.mxtech.videoplayer.pro/com.google.android.gms.measurement.AppMeasurementService
pm disable com.mxtech.videoplayer.pro/com.google.firebase.iid.FirebaseInstanceIdService
#
# Qualcomm qcrilmsgtunnel - Battery drain fix
pm disable com.qualcomm.qcrilmsgtunnel/com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelService
#
# QuickPic Gallery
pm disable com.alensw.PicFolder/com.alensw.cloud.sync.SyncService
pm disable com.alensw.PicFolder/com.alensw.cloud.UrlTaskService
pm disable com.alensw.PicFolder/com.alensw.transfer.TransferService
#
# Rain Alarm Pro
pm disable de.mdiener.rain.usa.plus/com.google.android.gms.analytics.AnalyticsService
pm disable de.mdiener.rain.usa.plus/com.google.android.gms.analytics.CampaignTrackingService
#
# RMV - Verkehrsapp
pm disable com.cubic.cumo.android.rmv/com.cubic.cumo.android.rmv.communication.MyGcmListenerService
#
# Root Explorer
pm disable com.speedsoftware.rootexplorer/com.google.android.gms.measurement.AppMeasurementService
pm disable com.speedsoftware.rootexplorer/com.google.firebase.iid.FirebaseInstanceIdService
#
# Shazam
pm disable com.shazam.android/com.google.android.gms.measurement.AppMeasurementService
pm disable com.shazam.android/com.google.firebase.iid.FirebaseInstanceIdService
# pm disable com.shazam.android/com.firebase.jobdispatcher.GooglePlayReceiver
# pm disable com.shazam.android/com.shazam.android.service.gcm.ShazamGcmTaskService
#
# Strato HiDrive
# pm disable com.strato.hidrive/.background.AutouploadSyncService
#
# Sygic Navigation
# pm disable com.sygic.aura/com.google.android.gms.analytics.AnalyticsJobService
# pm disable com.sygic.aura/com.google.android.gms.analytics.AnalyticsService
#
# WhatsApp
pm disable com.whatsapp/com.google.android.gms.measurement.AppMeasurementService
pm disable com.whatsapp/com.google.firebase.iid.FirebaseInstanceIdService
#
# Wire
pm disable com.wire/com.google.firebase.iid.FirebaseInstanceIdService
pm disable com.wire/com.google.firebase.messaging.FirebaseMessagingService
#
# WPS Office
# WPS Office 9.7 - also needs 10.7.3
pm disable cn.wps.moffice_eng/cn.wps.moffice.common.download.service.DownloadService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.gcm.MyInstanceIDListenerService
#
# WPS Office 10.7.3
pm disable cn.wps.moffice_eng/cn.wps.moffice.appupdate.AppUpdateService
pm disable cn.wps.moffice_eng/cn.wps.moffice.backup.BackupService
pm disable cn.wps.moffice_eng/cn.wps.moffice.common.download.extlibs.service.DownloadService
pm disable cn.wps.moffice_eng/cn.wps.moffice.feedback.upload.FeedbackSenderService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.cloud.roaming.service.WPSQingService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.cloud.storage.core.service.CSService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.gcm.MyGcmListenerService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.gcm.RegistrationIntentService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.main.HWQuickActionService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.push.service.PusherService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.main.scan.main.EmptyScanService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.main.scan.main.ScanStartService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.scan.util.ModelDownloadService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.scan.util.OcrDownloadService
pm disable cn.wps.moffice_eng/cn.wps.moffice.main.scan.util.UploadOcrDataService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.main.ttsservice.TTSNotificationDealService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.main.ttsservice.TTSService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.service.AuthenticatorService
pm disable cn.wps.moffice_eng/cn.wps.moffice.service.CrashLogSenderService
pm disable cn.wps.moffice_eng/cn.wps.moffice.service.GcmControlService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.service.impl.MOfficeService
pm disable cn.wps.moffice_eng/cn.wps.moffice.service.SyncService
pm disable cn.wps.moffice_eng/cn.wps.moffice.service.WakeService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/cn.wps.moffice.spellcheck.service.SpellService
# 10.7.3 must-stay-enabled pm disable cn.wps.moffice_eng/com.google.android.gms.auth.api.signin.RevocationBoundService
pm disable cn.wps.moffice_eng/com.google.android.gms.measurement.AppMeasurementService
pm disable cn.wps.moffice_eng/com.google.firebase.iid.FirebaseInstanceIdService
pm disable cn.wps.moffice_eng/com.google.firebase.messaging.FirebaseMessagingService
#
# Zinio
pm disable com.zinio.mobile.android.reader/com.braintreepayments.api.internal.AnalyticsIntentService
pm disable com.zinio.mobile.android.reader/com.google.android.gms.measurement.AppMeasurementService
pm disable com.zinio.mobile.android.reader/com.google.firebase.iid.FirebaseInstanceIdService
pm disable com.zinio.mobile.android.reader/com.google.firebase.messaging.FirebaseMessagingService
pm disable com.zinio.mobile.android.reader/com.zinio.baseapplication.presentation.firebase.ZinioFirebaseInstanceIDService
pm disable com.zinio.mobile.android.reader/com.zinio.baseapplication.presentation.firebase.ZinioFirebaseMessagingService
#
return
}

@tomasz1986
Copy link

@Catfriend1 Many of these components are repetitive, so you need really not list them over and over like that 😉. This is what I use to disable analytics and ads in all non-system apps:

for apk in $(pm list packages -3 | sed 's/package://g' | sort); do
  echo $apk

  2>/dev/null (
    # analytics
    pm disable $apk/com.google.android.gms.analytics.AnalyticsService
    pm disable $apk/com.google.android.gms.analytics.AnalyticsJobService
    pm disable $apk/com.google.android.gms.analytics.CampaignTrackingService
    pm disable $apk/com.google.android.gms.measurement.AppMeasurementService
    pm disable $apk/com.google.android.gms.measurement.AppMeasurementJobService

    pm disable $apk/com.google.android.gms.analytics.AnalyticsReceiver
    pm disable $apk/com.google.android.gms.analytics.CampaignTrackingReceiver
    pm disable $apk/com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver
    pm disable $apk/com.google.android.gms.measurement.AppMeasurementReceiver

    pm disable $apk/com.google.android.gms.measurement.AppMeasurementContentProvider
    pm disable $apk/com.crashlytics.android.CrashlyticsInitProvider

    # ads
    pm disable $apk/com.google.android.gms.ads.AdActivity

    # firebase
    # pm disable $apk/com.google.firebase.iid.FirebaseInstanceIdService
  )
done

I even have a Firebase related line there (although disabled). You could just add the other components that apply to all apps, and then only separately list those that are app specific. This will still be a rather dirty workaround though, as you never know when the apps change their internals (so you have to keep checking them).

@bam80
Copy link

bam80 commented Jul 25, 2018

Telegram FOSS has a backrgound service and drains my battery < 1% during an hour being on the mobile network

@Catfriend1
I suppose it needed to get notifications?

@Catfriend1
Copy link

@bam80 Yes, the settings screen says you have to toggle this on manually if you'd like to get push notifications.

@cRaZy-bisCuiT
Copy link

Even if Telegram works, Signal is left behind. Those two my apps rely on GCM in my portfolio. What is the blocker of this pull request not being merged?

BTW is it up to date regarding current Play Services version?

@bam80
Copy link

bam80 commented Jul 25, 2018

@Catfriend1 but who would like using Telegram without notifications? )

@tuxayo
Copy link

tuxayo commented Jul 26, 2018

@cRaZy-bisCuiT

Signal is left behind

I had Signal without GCM/MicroG for a month and didn't notice a significant battery drain.

@Catfriend1
Copy link

Bump for the bump. May be release this as a beta so people relying on clean 111 build functionality won't be out of luck.

@tuxayo
Copy link

tuxayo commented Aug 7, 2018

@Catfriend1 Do you mean the functionalities that hasn't changed and is "just" blocked by the version number?

What about the functionalities that changed and will behave unexpectedly? Maybe it will just crash and won't work, so nothing worst than today. Or maybe worst. Does anyone know how risky would it be?

@Catfriend1
Copy link

@tuxayo we currently don't know if it will be much better or worse nor risky. But spitting out an apk people like me wanting to take the risk and try can report back. Above, some users already told that it feels "good" to bump the version even if implementation is still missing.

@tuxayo
Copy link

tuxayo commented Aug 7, 2018

Oh right, releasing as beta (or alpha?). I missed that. Good idea! Bug reports will help to understand how the current APIs work.
And some people might even be able to submit patches for some parts of the missing functionality. (at least the easy plumbing)

@ArchangeGabriel
Copy link
Contributor

For instance, all I care about is passing SafetyNet and having working LocationService. So if GCM is broken, that’s fine for me. I don’t have time to look into building an APK with the required changes, but I would test one if provided by someone I trust.

@cRaZy-bisCuiT
Copy link

Could you please explain to me once again why it's not possible to NOT hard code this setting and allow to spoof any version just by changing setting. I understand that restarting the core might be necessary....

@Catfriend1
Copy link

The version number isn't a runtime part and build specific.

@mar-v-in
Copy link
Member

Done as part of 4040e3d

@mar-v-in mar-v-in closed this Aug 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SafetyNet started failing