相互关联指某个app应用会调用另一个app应用的service服务、Activity、Provider等组件
案例分析
【中美客户-产线反馈刚开机几分钟内app闪退】
结论不是bug,是因为链接网络后,google playstore自动更新GmsCore.apk(app包名称为com.google.android.gms), 在更新
过程中会强制Killing强相关的app。
分析如下:
分析思路
1)对比法: 不链接翻墙网络, 没有该现象。
2)登录翻墙网络,google playstore会自动更新,搜索关键字 Finsky,查看google playstore 更新状态和输出需要更新哪些apk。
google playstore 自动更新某个apk 有以下状态:
status=SCHEDULED —表示开启apk下载任务
status=DOWNLOAD_PENDING —下载任务被添加到队列中,但尚未开始下载
status=DOWNLOADING —正在下载apk
status=INSTALLING —正在安装
以下关键字会输出自动安装/更新哪些apk:
Requesting preloads:
具体分析如下
google playstore会根据PAI服务器要求更新com.google.android.gms (对应的是GmsCore.apk,备注:更新哪些apk由PAI服务
器配置,可以让运营商或者google 配置PAI更新哪些apk应用)
从log看当前PAI服务器配置更新以下三个app应用:
03-19 17:27:21.178 2343 2343 I Finsky : [2] rhq.i(20): Requesting preloads: [3|com.google.android.gms:240812106:0:0:req:def,
com.google.android.apps.tv.dreamx:58204:0💯req:def, com.google.android.katniss:15000514:0💯req:def]
准备下载GmsCore.apk
03-19 17:27:23.077 2343 3251 I Finsky : [555] lwn.L(47): IQ: Notifying installation update. [Package:com.google.android.gms, isid:-h-kj8A7R460bRKXpnOlDQ], status=SCHEDULED, status_code=0, reason=restore_vpa, tsc=PT1.512S
03-19 17:27:31.231 2343 2448 I Finsky : [410] lvz.a(1593): IQ: Notifying installation update. [Package:com.google.android.gms, isid:-h-kj8A7R460bRKXpnOlDQ], status=DOWNLOAD_PENDING, status_code=0, reason=restore_vpa, tsc=PT9.668S
正在下载GmsCore.apk
03-19 17:27:44.267 2343 3251 I Finsky : [555] lwn.L(47): IQ: Notifying installation update. [Package:com.google.android.gms, isid:-h-kj8A7R460bRKXpnOlDQ], status=DOWNLOADING, status_code=0, reason=restore_vpa, tsc=PT22.706S
03-19 17:27:44.471 2343 3251 I Finsky : [555] lwn.