Tuesday, January 12, 2016

Google thinks my tablet is a car

As an Android developer I often analyze system logs from my tablet. Starting from some recent updates (presumably, since Android 6.0) I see peculiar records there from time to time.

I/ActivityManager(591): Start proc 7994:com.google.android.gms:car/u0a21 for service com.google.android.gms/.car.CarService ... D/ChimeraCfgMgr(7994): Loading module com.google.android.gms.car from APK com.google.android.gms ... D/CAR.SERVICE(7994): Connecting to CarCallService... D/CAR.SERVICE(7994): com.google.android.projection.gearhead isn't installed. D/CAR.TEL.Service(7994): Creating a new CarCallService. W/ActivityManager(591): Unable to start service Intent { act=local_bind cmp=com.google.android.gms/.car.InCallServiceImpl } U=0: not found D/CAR.TEL.PhoneAdapter(7994): setListener: com.google.android.gms.car.dn@43460a D/NativeLibraryUtils(7994): Install completed successfully. count=14 extracted=0 D/CAR.TEL.Service(7994): Starting CarCallService with initial phone null ... D/CAR.SERVICE(7994): mConnectedToCar = false, abort E/ActivityThread(7994): Service com.google.android.gms.car.CarService has leaked ServiceConnection com.google.android.gms.car.hr@b3012b2 that was originally bound here E/ActivityThread(7994): android.app.ServiceConnectionLeaked: Service com.google.android.gms.car.CarService has leaked ServiceConnection com.google.android.gms.car.hr@b3012b2 that was originally bound here E/ActivityThread(7994): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:1092) E/ActivityThread(7994): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:986) E/ActivityThread(7994): at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1303) E/ActivityThread(7994): at android.app.ContextImpl.bindService(ContextImpl.java:1286) E/ActivityThread(7994): at android.content.ContextWrapper.bindService(ContextWrapper.java:604) E/ActivityThread(7994): at android.content.ContextWrapper.bindService(ContextWrapper.java:604) E/ActivityThread(7994): at android.content.ContextWrapper.bindService(ContextWrapper.java:604) E/ActivityThread(7994): at com.google.android.gms.common.stats.g.a(SourceFile:128) E/ActivityThread(7994): at com.google.android.gms.common.stats.g.a(SourceFile:145) E/ActivityThread(7994): at com.google.android.gms.car.hc.(SourceFile:319) E/ActivityThread(7994): at com.google.android.gms.car.CarChimeraService.onCreate(SourceFile:74) E/ActivityThread(7994): at com.google.android.chimera.ServiceProxy.setImpl(SourceFile:115) E/ActivityThread(7994): at com.google.android.chimera.ServiceProxy.onCreate(SourceFile:105) E/ActivityThread(7994): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2877) E/ActivityThread(7994): at android.app.ActivityThread.-wrap4(ActivityThread.java) E/ActivityThread(7994): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427) E/ActivityThread(7994): at android.os.Handler.dispatchMessage(Handler.java:102) E/ActivityThread(7994): at android.os.Looper.loop(Looper.java:148) E/ActivityThread(7994): at android.app.ActivityThread.main(ActivityThread.java:5417) E/ActivityThread(7994): at java.lang.reflect.Method.invoke(Native Method) E/ActivityThread(7994): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) E/ActivityThread(7994): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

What this means is that Android lives its own life, very far from reality, and tries to run tons of useless crap behind the scene, without user consent.

I don't have a car and my tablet has not ever been connected to one. Yet Google thinks it's acceptable to waste device's resources unconditionally and embed such ridiculous services into the system core. For example, the car service lives inside com.google.android.gms, which is a part of indispensable Google Play.

No comments:

Post a Comment