Runner_LZhen 2021-09-28 19:09 采纳率: 0%
浏览 29

ReportService not registered

Service not registered: com.google.android.gms.common.internal.a0@3bab668
com.google.android.gms.common.stats.a.a(Unknown Source:12)
日志

android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1759)
android.app.ContextImpl.unbindService(ContextImpl.java:1786)
android.content.ContextWrapper.unbindService(ContextWrapper.java:751)
com.google.android.gms.common.stats.a.a(Unknown Source:12)
com.google.android.gms.common.internal.a0.b(Unknown Source:2)
com.google.android.gms.common.internal.z.handleMessage(Unknown Source:17)
android.os.Handler.dispatchMessage(Handler.java:103)
b.h.a.c.d.b.e.dispatchMessage(Unknown Source:1)
android.os.Looper.loop(Looper.java:224)
android.app.ActivityThread.main(ActivityThread.java:7520)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

BaseGmsClient#zzb#handleMessage(Message var1)

public final void handleMessage(Message var1) {
            if (BaseGmsClient.this.zzcr.get() != var1.arg1) {
                if (zzb(var1)) {
                    zza(var1);
                }

            } else if ((var1.what == 1 || var1.what == 7 || var1.what == 4 && !BaseGmsClient.this.enableLocalFallback() || var1.what == 5) && !BaseGmsClient.this.isConnecting()) {
                zza(var1);
            } else {
                ConnectionResult var5;
                if (var1.what == 4) {
                    BaseGmsClient.this.zzco = new ConnectionResult(var1.arg2);
                    if (BaseGmsClient.this.zzl() && !BaseGmsClient.this.zzcp) {
                        BaseGmsClient.zza(BaseGmsClient.this, 3, (IInterface)null);
                    } else {
                        var5 = BaseGmsClient.this.zzco != null ? BaseGmsClient.this.zzco : new ConnectionResult(8);
                        BaseGmsClient.this.zzcf.onReportServiceBinding(var5);
                        BaseGmsClient.this.onConnectionFailed(var5);
                    }
                } else if (var1.what == 5) {
                    var5 = BaseGmsClient.this.zzco != null ? BaseGmsClient.this.zzco : new ConnectionResult(8);
                    BaseGmsClient.this.zzcf.onReportServiceBinding(var5);
                    BaseGmsClient.this.onConnectionFailed(var5);
                } else if (var1.what == 3) {
                    PendingIntent var4 = var1.obj instanceof PendingIntent ? (PendingIntent)var1.obj : null;
                    ConnectionResult var3 = new ConnectionResult(var1.arg2, var4);
                    BaseGmsClient.this.zzcf.onReportServiceBinding(var3);
                    BaseGmsClient.this.onConnectionFailed(var3);
                } else if (var1.what == 6) {
                    BaseGmsClient.zza(BaseGmsClient.this, 5, (IInterface)null);
                    if (BaseGmsClient.this.zzck != null) {
                        BaseGmsClient.this.zzck.onConnectionSuspended(var1.arg2);
                    }

                    BaseGmsClient.this.onConnectionSuspended(var1.arg2);
                    BaseGmsClient.this.zza(5, 1, (IInterface)null);
                } else if (var1.what == 2 && !BaseGmsClient.this.isConnected()) {
                    zza(var1);
                } else if (zzb(var1)) {
                    ((BaseGmsClient.zzc)var1.obj).zzo();
                } else {
                    int var2 = var1.what;
                    Log.wtf("GmsClient", (new StringBuilder(45)).append("Don't know how to handle message: ").append(var2).toString(), new Exception());
                }
            }
        }

还不确定是哪个方法com.google.android.gms.common.stats.a.a(Unknown Source:12)
WakeLockTracker#registerReleaseEvent(Context var1, Intent var2)


public abstract class GCoreWakefulBroadcastReceiver extends WakefulBroadcastReceiver {
    private static String TAG = "GCoreWakefulBroadcastReceiver";

    public GCoreWakefulBroadcastReceiver() {
    }

    @SuppressLint({"UnwrappedWakefulBroadcastReceiver"})
    @KeepForSdk
    public static boolean completeWakefulIntent(Context var0, Intent var1) {
        if (var1 == null) {
            return false;
        } else {
            if (var0 != null) {
                WakeLockTracker.getInstance().registerReleaseEvent(var0, var1);
            } else {
                String var10000 = TAG;
                String var10002 = String.valueOf(var1.toUri(0));
                String var10001;
                if (var10002.length() != 0) {
                    var10001 = "context shouldn't be null. intent: ".concat(var10002);
                } else {
                    String var10003 = new String;
                    var10001 = var10003;
                    var10003.<init>("context shouldn't be null. intent: ");
                }

                Log.w(var10000, var10001);
            }

            return WakefulBroadcastReceiver.completeWakefulIntent(var1);
        }
    }
}

@KeepForSdk
public class WakeLockTracker {
    private static WakeLockTracker zzgc = new WakeLockTracker();
    private static Boolean zzgd;
    @VisibleForTesting
    private static boolean zzge = false;

    public WakeLockTracker() {
    }

    @KeepForSdk
    public static WakeLockTracker getInstance() {
        return zzgc;
    }

   ....

    @KeepForSdk
    public void registerEvent(Context var1, String var2, int var3, String var4, String var5, String var6, int var7, List<String> var8, long var9) {
        if (zzw()) {
            if (TextUtils.isEmpty(var2)) {
                String var10002 = String.valueOf(var2);
                String var10001;
                if (var10002.length() != 0) {
                    var10001 = "missing wakeLock key. ".concat(var10002);
                } else {
                    String var10003 = new String;
                    var10001 = var10003;
                    var10003.<init>("missing wakeLock key. ");
                }

                Log.e("WakeLockTracker", var10001);
            } else {
                if (7 == var3 || 8 == var3 || 10 == var3 || 11 == var3) {
                    long var11 = System.currentTimeMillis();
                    WakeLockEvent var13 = new WakeLockEvent(var11, var3, var4, var7, StatsUtils.zza(var8), var2, SystemClock.elapsedRealtime(), zza.zzg(var1), var5, StatsUtils.zzi(var1.getPackageName()), zza.zzh(var1), var9, var6, false);
                    zza(var1, var13);
                }

            }
        }
    }

    private static void zza(Context var0, WakeLockEvent var1) {
        try {
            var0.startService((new Intent()).setComponent(LoggingConstants.zzfg).putExtra("com.google.android.gms.common.stats.EXTRA_LOG_EVENT", var1));
        } catch (Exception var3) {
            Log.wtf("WakeLockTracker", var3);
        }
    }
}

firebase在Android端的集成仅仅需要配置gradle一行代码,利用ContentProvider的特性实现了代码的0侵入。firebase所依赖的gms框架内方法调用启动服务com.google.android.gms.common.stats.GmsCoreStatsService,GmsCoreStatsService没有注册,而且GmsCoreStatsService在firebase所依赖的gms包内不存在。我在Manifest中注册有可能会引发其他问题。也许是class not found。

总结有两种可能
1、集成firebase导致ReportService被启动;
2、Google AD Manager 定时或上传错误日志启动的。

  • 写回答

1条回答 默认 最新

  • 普通网友 2021-09-28 19:25
    关注

    service没有注册,没有注册到main或者,没有注册使用

    评论

报告相同问题?

问题事件

  • 修改了问题 9月29日
  • 修改了问题 9月28日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler