¿Cómo hacer que los servicios de Google Play y otras aplicaciones predeterminadas del sistema incluidas en la lista blanca Doze?

Señor del Fuego

¿Cómo hacer que los servicios de Google Play y otras aplicaciones predeterminadas del sistema incluidas en la lista blanca Doze?

Supongamos que soy un usuario al que no le gusta que algunas aplicaciones del sistema se incluyan automáticamente en la lista blanca en la configuración de optimización de la batería y que sean inmunes a la optimización de la batería o que esté harto de que los servicios de Play consuman más batería de la que les corresponde. Estoy buscando una solución que revoque este privilegio del que disfrutan esas aplicaciones y las agregue a la línea donde el resto de las aplicaciones camaradas ordinarias están esperando que el usuario las marque con No optimizar .

(Haga clic en la imagen para ampliar)

IMG:

Ya he visto esta respuesta y, como se indica en un comentario , no funciona para las aplicaciones incluidas en la lista blanca del sistema.

A partir de ahora, estas son las aplicaciones incluidas en la lista blanca de Android 6.0.1 en mi Nexus 6 rooteado:

IMG

Estoy más interesado en eliminar com.google.android.gms .

Señor del Fuego

Requisitos

  • Un Android rooteado

Opcional:

  • Una copia de seguridad completa de la ROM realizada a través de una recuperación personalizada. Es por su propia conveniencia. Si algo sugerido en la siguiente sección causa problemas de arranque o fallas en el sistema/aplicación, tendría algo bueno para retroceder al estado anterior.

  • La optimización de los servicios de Play puede tener consecuencias imprevistas (incluido el administrador de dispositivos Android o las aplicaciones de seguimiento de dispositivos que no funcionan correctamente). Se recomienda calcular la cantidad de aplicaciones instaladas que dependen de Google Cloud Messaging y se verían afectadas por este movimiento . Las respuestas aquí pueden ayudar: ¿Hay alguna forma de ver qué aplicaciones usan GCM?

    Preferí mi propia respuesta por simplicidad.


PARA EVITAR LA MOLESTIA

Si está apuntando solo a Google Play Services y quiere evitar la molestia de editar archivos del sistema , puede usar Enable Doze for GMS o SysConfig Patcher Magisk Module. Necesitaría el marco Magisk y Magisk Manager .


Como señalé aquí , los servicios de Google Play están incluidos en la lista blanca de Google a través del archivo google.xml ubicado en /system/etc/sysconfig/ . Entre otras cosas, el expediente señala:

<!-- GmsCore siempre debe tener acceso a la red para GCM y otras cosas. -->
< permitir-en-paquete de ahorro de energía="com.google.android.gms" />

Comente la línea resaltada usando <!--al principio y -->al final. La línea ahora debería verse así:

<!-- < permitir-en-power-save paquete="com.google.android.gms" /> -->

(Haga clic en una imagen para verla más grande)

IMG: IMG:

Reinicie el dispositivo y observe que los servicios de Google Play ahora no están disponibles en la pestaña No optimizado pero están disponibles para la optimización.

(Haga clic en una imagen para verla más grande)

IMG: IMG:

Observé que la lista de aplicaciones también disminuyó:

IMG

Nota: Usé ES File Explorer para buscar el directorio /system/etc/sysconfig y usé QuickEdit para editar google.xml . No es obligatorio utilizar estas herramientas. Puedes usar lo que creas conveniente.

Ahora, para el resto de los nombres en la lista, consulte los archivos correspondientes que se indican a continuación:

  • com.android.providers.downloads: /system/etc/permissions/platform.xml
  • com.android.vending: /system/etc/sysconfig/google.xml -- Me di cuenta de que tratar con los servicios de Google Play eliminó automáticamente Play Store de la lista
  • com.google.android.apps.tycho: /system/etc/sysconfig/google_build.xml
  • com.android.omadm.service: /system/etc/sysconfig/whitelist_com.android.omadm.service.xml .

Comente la línea apropiada, reinicie y su ajuste debería funcionar.

Nota: He extrapolado mis hallazgos con los servicios de Google Play aquí.

SystemConfig.java se usa para leer la configuración desde el directorio /system/etc/permissions y /system/etc/sysconfig . Por lo tanto, si tiene una aplicación de sistema incluida en la lista blanca que no se agregó manualmente y no se cubre en esta respuesta, entonces centre su búsqueda en esos dos directorios al principio.

usuario42850

Hola @Firelord. Probé esta solución en Android 7.1.1 hasta el punto de que finalmente eliminé la línea para GMS sin éxito. ¿Alguna idea sobre qué cambió en Android Nougat con respecto a cómo se implementa esto? Gracias.

Señor del Fuego

@usuario42850. Siento escuchar eso. Pero no tengo Android Nougat a mi disposición, por lo que no estoy en condiciones de ayudarte en este caso. :(

Señor del Fuego

Me he ocupado de su preocupación en esta edición: android.stackexchange.com/posts/143248/revisions (aunque tengo un año de retraso).

neil

adb shell dumpsys deviceidle whitelist -"com.yourcompany.yourapp"

Usando este comando en adb, puede eliminar aplicaciones de las exclusiones de ahorro de energía, probadas en Oreo, no rooteadas. Y usando un signo más (+) en lugar de menos, puede agregar aplicaciones a la lista de exclusión.

Editando de nuevo. Hay un error. No funciona siempre

Señor del Fuego

No puede eliminar el conjunto predeterminado de aplicaciones incluidas en la lista blanca. ¿Puede eliminar Google Play Services? Proporcione evidencia para respaldar su reclamo. Por cierto, mi pregunta se hizo con referencia a Android 6.0, aunque no me importaría si tu respuesta funciona para Android Oreo para todas las aplicaciones.