什么是com.google.android.gms.persistent,为什么总是使用CPU?

即使没有其他事情发生,这个系统过程似乎使用一个稳定的1-2%的CPU。 在一天的过程中,即使设备不用于任何事情,也会耗尽大量的电池电量。 我还没有能够将它关联到任何其他应用程序,因为即使他们只用了几秒钟的CPU时间,每个过程几个小时这个过程使用分钟。

它似乎仍然运行,即使我:

  • closuresWiFi
  • 关掉蓝牙
  • closures位置服务
  • 关掉一切,除了最基本的同步(例如GMail)

我写了一个小testing应用程序,每10ms监视一次/proc/<pid>/stat并且随时写入logcat到com.google.android.gms.persistent ,希望它会写一些东西给logcat本身,以确定哪些应用程序或其他服务使用“持续”服务。 我没有看到太多,但是这里有一些我曾经看到的事情:

 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] 

上面的每一行都是在不同的时间,紧挨在一个日志消息之前(在10ms之内)检测到com.google.android.gms.persistent CPU使用情况,但没有任何明确的指示它是否是相关的。 不幸的是,上述报告中没有一个报告的CPU时间超过了10毫秒,所以 – 即使在表示正在使用“持久性”的情况下的准确度只是所使用的实际CPU时间的一小部分。

其他尝试研究什么使用这个过程提出了各种各样的事情(如可穿戴设备),我没有,也从来没有连接到我的设备。

什么是使用这个过程? 我正在寻找这个信息直接或者其他的方式,我可以推断这些信息类似于我通过logcat的尝试。

更新:我一直在找https://android.googlesource.com上的源代码(如com.google.android.gms.persistent.java或类似的东西),没有任何运气。 这不是公共源代码的一部分吗? 奇怪的是,甚至没有任何文档,例如: https : //android.googlesource.com/platform/frameworks/base/+/33fca8e/docs/html/reference/com/google/安卓/克

更新2:我禁用了设置 – >帐户下的所有同步。 这看起来似乎更多地降低了CPU使用率,而电池电量的下降似乎已经下降到了一定的程度 – 除了周期性的com.google.android.gms.persistent似乎还是需要一阵CPU。

我现在的工作理论是,它有一个闹钟,以大约60秒的时间间隔发射,无论是否需要,代码正在检查同步工作,如果不需要同步,它会放弃时间片权利离开,让CPU去睡觉。 然而,我半途不敢相信这样一个可怕的devise将被使用,因为每分钟唤醒CPU的东西肯定会耗尽电池很多,即使它只是回到睡眠,为什么要使用轮询而不是中断驱动的同步呢?

据我所知(由于无法find它)com.google.android.gms.persistent的源代码不是开源的或在任何地方在线提供。 如果我错了,我会接受作为我的问题的答案,任何答案将指向的源代码,因为我可以浏览它,并确定为什么CPU使用率。

Solutions Collecting From Web of "什么是com.google.android.gms.persistent,为什么总是使用CPU?"

据David Bisson说 :

俄罗斯反病毒公司Dr Web的研究人员表示,一个臭名昭着的Android木马家族的最新成员下载并启动恶意应用程序,而用户不知道受感染的设备。

被称为“Android.Xiny.60”的恶意软件来自与Android.Xiny.19.origin一样的家庭,该软件于2016年1月重新进入。

当时,Xiny隐藏了超过60个游戏,可以从官方的Google Play商店下载,并使用通过隐写修改的图像文件的forms转发的指令来运行任意的APK文件。

感染Android游戏

正如Softpedia报道的那样,Xiny特洛伊木马的最新版本并不需要欺骗用户授予pipe理员权限,而是将漏洞利用到根设备上。

恶意软件启动后,会加载恶意组件并将其保存到系统目录中。 木马可以使用这些元素来造成各种麻烦。

例如,Xiny可以在IM聊天应用程序中注入恶意程序,窥探对话,甚至在没有用户许可的情况下发送消息。 此外,该恶意软件的目标银行应用程序,并可以显示虚假的login页面,窃取用户名和密码。

正如Web博士在博客中解释的那样:

“特洛伊启动igpi模块(Android.Xiny.61),它使用ptrace函数将igpld.so可执行的Linux库(Android.Xiny.62)注入到Google Play(com.android.vending)的系统进程中, Google Play服务(com.google.android.gms,co.google.android.gms.persistent)应用程序“。

该恶意软件还可以将Android.Xiny.62注入到zygote中,这是一个至关重要的Android进程,它的感染允许该木马启动新的应用程序和额外的恶意软件.Android.Xiny.60等待一个充电器被检测到,屏幕打开或closures,或几个其他特定的事件发生。 每当发生这些事件之一时,特洛伊就连接到它的命令与控制服务器,并将关于设备的各种信息发送到本地。

Android用户应该努力保护自己免受所有版本的Android.Xiny恶意软件的攻击,方法是维护最新的防病毒解决scheme,在安装应用程序之前阅读应用程序的评论,并检查以确保应用程序的请求许可权其广告目的。

几乎没有合法的应用程序实际上需要root权限,所以要小心冒名顶替者寻找他们不应该得到的权利

这不是病毒或木马。 这是Google Play服务stream程,需要在Android平台上正常运行Google Play服务。 实际上这是主stream程在后台运行,支持应用程序和链接与谷歌播放商店,并保持更新,并提供其他谷歌播放服务function是有用的。 关于CPU使用情况许多其他应用程序也运行在背景和资源,但它是为了保持更新,并为您提供更好的实时服务。