Incluso cuando nada más está sucediendo este proceso del sistema parece utilizar un constante 1-2% de la CPU. En el transcurso de un día esto drena una cantidad significativa de la batería, incluso cuando el dispositivo wasn't utilizado para nada. No he sido capaz de correlacionarlo con ninguna otra aplicación porque incluso cuando sólo han utilizado unos segundos de CPU cada una en el transcurso de varias horas este proceso está utilizando minutos.
Todavía parece correr incluso si yo:
Escribí una pequeña aplicación de prueba que monitoriza /proc/<pid>/stat
cada 10ms y escribe en logcat cada vez que com.google.android.gms.persistent
, con la esperanza de que escriba algo en el propio logcat que identifique qué aplicación u otro servicio está usando "persistent" para sus servicios. No veo mucho, pero aquí están algunas cosas que vi:
InputReader: Reconfiguring input devices. changes=0x00000010
WifiService: acquireWifiLockLocked: WifiLock{NlpWifiLock type=2 binder=android.os.BinderProxy@f73f0b8}
LocationFilter: Forcing stable location. Original location:Location[...
ConnectivityService: notifyType CAP_CHANGED for NetworkAgentInfo [WIFI () - 246]
Cada línea de arriba estaba en un momento diferente, inmediatamente anterior (dentro de 10ms de) un mensaje de registro que detecta el uso de la CPU por com.google.android.gms.persistent
pero sin ninguna indicación clara de si está o no relacionado. Desafortunadamente, ninguno de los informes anteriores más de 10 ms de tiempo de CPU tomada, y así - incluso si precisa en la denotación de lo que está utilizando "persistente" representa sólo una pequeña parte del tiempo real de CPU que se utiliza.
Otros intentos de investigar lo que utiliza este proceso han sugerido varias cosas (como wearables) que no tengo y nunca he tenido conectado a mi dispositivo.
¿Qué está utilizando este proceso? Estoy buscando ya sea para esta información directamente, o para formas adicionales que puedo deducir esta información similar a mis intentos a través de logcat.
Actualización: He estado buscando la fuente (por ejemplo, com.google.android.gms.persistent.java o algo así) en https://android.googlesource.com sin suerte. ¿No forma esto parte del código fuente público? Lo que es realmente extraño es que ni siquiera parece haber documentación, por ejemplo aquí: https://android.googlesource.com/platform/frameworks/base/+/33fca8e/docs/html/reference/com/google/android/gms
Actualización 2: He desactivado toda la sincronización en Configuración -> Cuentas. Esto parece reducir el uso de la CPU un poco más, y la caída de la batería parece haber caído a un rastreo - excepto periódicamente com.google.android.gms.persistent todavía parece tomar una ráfaga de CPU.
Mi teoría de trabajo ahora es que tiene una alarma que está disparando a intervalos de aproximadamente 60 segundos, independientemente de si es necesario o no, y que el código es la comprobación de trabajo de sincronización, y si nada tiene que ser sincronizado se da por vencido la rebanada de tiempo de inmediato y deja que la CPU ir a la derecha a dormir. Sin embargo, no puedo creer que se utilice un diseño tan horrible, ya que cualquier cosa que despierte a la CPU cada minuto seguramente agotará la batería mucho más rápido, incluso si sólo vuelve a dormir, y ¿por qué se utilizaría el sondeo en lugar de algo controlado por interrupciones para la sincronización de todos modos?
Por lo que puedo decir (debido a no ser capaz de encontrarlo) el código fuente de com.google.android.gms.persistent no es de código abierto o disponible en línea en cualquier lugar. Si estoy equivocado, aceptaría como respuesta a mi pregunta, cualquier respuesta que apunte al código fuente ya que podría navegar por él y determinar por mí mismo el porqué del uso de la CPU.
No es un virus o troyano. es google play proceso de servicio que se necesita para ejecutar correctamente los servicios de Google Play en la plataforma Android. De hecho, es el proceso principal se ejecuta en segundo plano, es útil para hacer el apoyo a las aplicaciones y vinculado con Google Play Store y mantenerlos actualizados y proporcionar otras características del servicio de Google Play. En cuanto a los usos de la CPU muchas otras aplicaciones también se ejecutan en segundo plano y la toma de recursos, pero es para mantenerlos actualizados y ofrecerle mejores servicios en tiempo real.
El último miembro de una conocida familia de troyanos para Android descarga y lanza aplicaciones maliciosas sin el conocimiento del usuario en dispositivos infectados. dispositivos infectados, según investigadores de la firma antivirus rusa Dr Web. ; El malware, conocido como "Android.Xiny.60," proviene de la misma familia que Android.Xiny.19.origin, que hizo su gran entrada allá por enero de 2016. ; En ese momento, Xiny se escondió en más de 60 juegos disponibles para su descarga de la tienda oficial Google Play, y utilizaba instrucciones retransmitidas a en forma de archivos de imagen modificados mediante esteganografía para ejecutar archivos APK arbitrarios. ; Juegos android infectados
Como informa Softpedia, las últimas versiones del troyano Xiny don't necesitan engañar a los usuarios para que le concedan privilegios de administrador, sino que despliegan exploits para rootear el dispositivo.
Una vez que el malware se lanza, carga sus componentes maliciosos y los guarda en los directorios del sistema. El troyano puede utilizar esos elementos para causar todo tipo de problemas.
Por ejemplo, Xiny puede inyectar procesos maliciosos en aplicaciones de chat de mensajería instantánea, husmear en las conversaciones e incluso enviar mensajes sin el del usuario. Además, el malware se dirige a aplicaciones bancarias y puede mostrar páginas de inicio de sesión falsas para robar nombres de usuario y contraseñas. ; Como explica Dr Web en una entrada de su blog: > "El troyano lanza el módulo igpi (Android.Xiny.61) que utiliza la función ptrace para inyectar la biblioteca ejecutable Linux igpld.so (Android.Xiny.62) en los procesos del sistema de Google Play (com.android.vending) y Google Play Services (com.google.android.gms, co.google.android.gms.persistent) aplicaciones." ; El malware también puede inyectar Android.Xiny.62 en el cigoto, un crucial proceso de Android cuya infección permite al troyano lanzar nuevas aplicaciones y malware adicional.Todo el tiempo, Android.Xiny.60 espera a que se detecte un cargador, se encienda o apague la pantalla de inicio o que se produzcan otros eventos específicos. Cada vez que uno de esos eventos, el troyano se conecta de nuevo a su sistema de comando y control. servidor de comando y control y envía todo tipo de información sobre el dispositivo a la base de operaciones. ; Los usuarios de Android deben trabajar para protegerse contra todas las versiones del malware Android.Xiny manteniendo un antivirus actualizado , leyendo las reseñas de las aplicaciones antes de instalarlas, y comprobando que los permisos solicitados por una aplicación coincidan con su propósito anunciado.
Pocas aplicaciones legítimas, si es que hay alguna, requieren realmente privilegios de root, así que ten cuidado de los impostores que buscan derechos que no merecen.