3

Possibly duplicate of Android 5.0 (L) Service Intent must be explicit 2 with minor differences

Im getting this error in Lollipop - Nexus 5

java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.google.android.gms.analytics.service.START (has extras) }
        at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1674)
        at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1773)
        at android.app.ContextImpl.bindService(ContextImpl.java:1751)
        at android.content.ContextWrapper.bindService(ContextWrapper.java:538)
        at com.google.analytics.tracking.android.AnalyticsGmsCoreClient.connect(AnalyticsGmsCoreClient.java:82)
        at com.google.analytics.tracking.android.GAServiceProxy.connectToService(GAServiceProxy.java:330)
        at com.google.analytics.tracking.android.GAServiceProxy.createService(GAServiceProxy.java:210)
        at com.google.analytics.tracking.android.GAThread.init(GAThread.java:85)
        at com.google.analytics.tracking.android.GAThread.run(GAThread.java:352)

I had my project using maven with google analytics v3 and play services 4.3.23 and everything work fine even in lollipop nexus 5.

After i migrate to gradle, i kept analytics v3 and updated play services to 6.1.71, don't know if this could be the problem

More stacktrace

2-04 14:23:42.331  13618-13759/com.xxxxxx.mypackage V/GAV3﹕ Thread[GAThread,5,main]: connecting to Analytics service
12-04 14:23:42.337  13618-13759/com.xxxxxx.mypackage W/System.err﹕ java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.google.android.gms.analytics.service.START (has extras) }
12-04 14:23:42.337  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1674)
12-04 14:23:42.337  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1773)
12-04 14:23:42.338  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at android.app.ContextImpl.bindService(ContextImpl.java:1751)
12-04 14:23:42.338  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at android.content.ContextWrapper.bindService(ContextWrapper.java:538)
12-04 14:23:42.338  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at com.google.analytics.tracking.android.AnalyticsGmsCoreClient.connect(AnalyticsGmsCoreClient.java:82)
12-04 14:23:42.338  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at com.google.analytics.tracking.android.GAServiceProxy.connectToService(GAServiceProxy.java:330)
12-04 14:23:42.338  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at com.google.analytics.tracking.android.GAServiceProxy.createService(GAServiceProxy.java:210)
12-04 14:23:42.338  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at com.google.analytics.tracking.android.GAThread.init(GAThread.java:85)
12-04 14:23:42.338  13618-13759/com.xxxxxx.mypackage W/System.err﹕ at com.google.analytics.tracking.android.GAThread.run(GAThread.java:352)
12-04 14:23:42.342  13618-13759/com.xxxxxx.mypackage W/FlurryAgent﹕ Error logged: uncaught
12-04 14:23:42.342  13618-13759/com.xxxxxx.mypackage W/FlurryAgent﹕ Trying to end session
12-04 14:23:42.346  13618-13759/com.xxxxxx.mypackage W/FlurryAgent﹕ Ending session
12-04 14:23:42.350  13618-13759/com.xxxxxx.mypackage V/GAV3﹕ Thread[GAThread,5,main]: Tracking Exception: IllegalArgumentException (@ContextImpl:validateServiceIntent:1674) {GAThread}
12-04 14:23:42.351  13618-13759/com.xxxxxx.mypackage V/GAV3﹕ Thread[GAThread,5,main]: Dispatch call queued. Dispatch will run once initialization is complete.
12-04 14:23:42.351  13618-13759/com.xxxxxx.mypackage V/GAV3﹕ Thread[GAThread,5,main]: Passing exception to original handler.
12-04 14:23:42.351  13618-13759/com.xxxxxx.mypackage E/ACRA﹕ ACRA caught a IllegalArgumentException exception for com.xxxxxx.mypackage. Building report.
12-04 14:23:42.565  13618-13759/com.xxxxxx.mypackage I/ACRA﹕ READ_LOGS granted! ACRA can include LogCat and DropBox data.
12-04 14:23:42.603  13618-13759/com.xxxxxx.mypackage D/ACRA﹕ Retrieving logcat output...
12-04 14:23:42.629  13618-13759/com.xxxxxx.mypackage D/ACRA﹕ Writing crash report file 1417710222000.stacktrace.
12-04 14:23:42.643  13618-13759/com.xxxxxx.mypackage D/ACRA﹕ About to start ReportSenderWorker from #handleException
12-04 14:23:42.645  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ Mark all pending reports as approved.
12-04 14:23:42.645  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ Looking for error files in /data/data/com.xxxxxx.mypackage/files
12-04 14:23:42.646  13618-14174/com.xxxxxx.mypackage D/ACRA﹕ Waiting for Toast + worker...
12-04 14:23:42.649  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ #checkAndSendReports - start
12-04 14:23:42.649  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ Looking for error files in /data/data/com.xxxxxx.mypackage/files
12-04 14:23:42.650  13618-14173/com.xxxxxx.mypackage I/ACRA﹕ Sending file 1417710222000-approved.stacktrace
12-04 14:23:42.661  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ Sending report 180cde9c-d8e3-4d00-b677-185630e6c44b
12-04 14:23:42.661  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ Connect to https://docs.google.com/spreadsheet/formResponse?formkey=dE04R1o0VjJDM29QXaQ2ZTVjSVNzdGc6MQ&ifq
12-04 14:23:42.708  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ Sending request to https://docs.google.com/spreadsheet/formResponse?formkey=dE04R1o0VjJDM29QXaQ2ZTVjSVNzdGc6MQ&ifq
12-04 14:23:42.991  13618-13618/com.xxxxxx.mypackage I/INFO﹕ Address from preferences ->null
12-04 14:23:42.991  13618-13618/com.xxxxxx.mypackage I/INFO﹕ Address from preferences ->null
12-04 14:23:42.991  13618-13618/com.xxxxxx.mypackage I/INFO﹕ Address from preferences ->null
12-04 14:23:42.991  13618-13618/com.xxxxxx.mypackage I/INFO﹕ Address from preferences ->null
12-04 14:23:42.991  13618-13618/com.xxxxxx.mypackage I/INFO﹕ Address from preferences ->null
12-04 14:23:42.991  13618-13618/com.xxxxxx.mypackage I/INFO﹕ Address from preferences ->null
12-04 14:23:43.000  13618-13618/com.xxxxxx.mypackage I/INFO﹕ *****************************
12-04 14:23:43.000  13618-13618/com.xxxxxx.mypackage I/INFO﹕ Cancel move camera
12-04 14:23:43.000  13618-13618/com.xxxxxx.mypackage I/INFO﹕ *****************************
12-04 14:23:43.059  13618-13618/com.xxxxxx.mypackage V/GCMBroadcastReceiver﹕ onReceive: com.google.android.c2dm.intent.REGISTRATION
12-04 14:23:43.059  13618-13618/com.xxxxxx.mypackage V/GCMBroadcastReceiver﹕ GCM IntentService class: com.xxxxxx.mypackage.GCMIntentService
12-04 14:23:43.061  13618-13618/com.xxxxxx.mypackage V/GCMBaseIntentService﹕ Acquiring wakelock
12-04 14:23:43.066  13618-13618/com.xxxxxx.mypackage V/GCMBaseIntentService﹕ Intent service name: GCMIntentService-670358886800-1
12-04 14:23:43.066  13618-13618/com.xxxxxx.mypackage E/GCMBaseIntentService﹕ [GCMIntentService] start
12-04 14:23:43.069  13618-14192/com.xxxxxx.mypackage E/GCMRegistrar﹕ internal error: retry receiver class not set yet
12-04 14:23:43.070  13618-13618/com.xxxxxx.mypackage V/GCMBroadcastReceiver﹕ onReceive: com.google.android.c2dm.intent.REGISTRATION
12-04 14:23:43.070  13618-14192/com.xxxxxx.mypackage V/GCMRegistrar﹕ Registering receiver
12-04 14:23:43.070  13618-13618/com.xxxxxx.mypackage V/GCMBroadcastReceiver﹕ GCM IntentService class: com.xxxxxx.mypackage.GCMIntentService
12-04 14:23:43.070  13618-13618/com.xxxxxx.mypackage V/GCMBaseIntentService﹕ Acquiring wakelock
12-04 14:23:43.073  13618-14192/com.xxxxxx.mypackage D/GCMBaseIntentService﹕ handleRegistration: registrationId = null, error = null, unregistered = com.xxxxxx.mypackage
12-04 14:23:43.074  13618-14192/com.xxxxxx.mypackage D/GCMRegistrar﹕ resetting backoff for com.xxxxxx.mypackage
12-04 14:23:43.074  13618-14192/com.xxxxxx.mypackage V/GCMRegistrar﹕ Saving regId on app version 25
12-04 14:23:43.089  13618-14192/com.xxxxxx.mypackage V/GCMIntentService onUnregistered﹕ [ 12-04 14:23:43.090 13618:14192 V/GCMBaseIntentService ]
    Releasing wakelock
12-04 14:23:43.092  13618-14192/com.xxxxxx.mypackage D/GCMBaseIntentService﹕ handleRegistration: registrationId = APA91bHiOw6h7JU9dvLc1Qqw04GXQkrlbV-4LZIQfO6e8uIEGaFSsVNqsdmTi53PXZVEARzI6XLxK3rXXM3OrUm8wIRC0jmgB2yXrrVRoTkSvwQXtPSywJR2AJkcs_2a39KwvLxnyN97JLdP8hVVLtSElBCGYLNMyDIlXYWC01i7Th4OyVA1FOM, error = null, unregistered = null
12-04 14:23:43.092  13618-14192/com.xxxxxx.mypackage D/GCMRegistrar﹕ resetting backoff for com.xxxxxx.mypackage
12-04 14:23:43.095  13618-14192/com.xxxxxx.mypackage V/GCMRegistrar﹕ Saving regId on app version 25
12-04 14:23:43.116  13618-14192/com.xxxxxx.mypackage V/GCMIntentService onRegistered﹕ APA91bHiOw6h7JU9dvLc1Qqw04GXQkrlbV-4LZIQfO6e8uIEGaFSsVNqsdmTi53PXZVEARzI6XLxK3rXXM3OrUm8wIRC0jmgB2yXrrVRoTkSvwQXtPSywJR2AJkcs_2a39KwvLxnyN97JLdP8hVVLtSElBCGYLNMyDIlXYWC01i7Th4OyVA1FOM
12-04 14:23:43.116  13618-14192/com.xxxxxx.mypackage V/GCMBaseIntentService﹕ Releasing wakelock
12-04 14:23:43.660  13618-13634/com.xxxxxx.mypackage I/art﹕ Background sticky concurrent mark sweep GC freed 57034(3MB) AllocSpace objects, 53(2MB) LOS objects, 13% free, 35MB/41MB, paused 8.499ms total 70.673ms
12-04 14:23:43.872  13618-14173/com.xxxxxx.mypackage W/ResponseProcessCookies﹕ Invalid cookie header: "Set-Cookie: NID=67=rrqRFddFUdEd6qmmRaW7u3wCSFSDlVoFobX4NqYeDntag4sOwuzwAeWjh6q3tsENizFX-5igAcBPOUj0M_QXkQKGPfKeCzpDD5-oXrveoj8D1flwIx1TCB5v8i0F6CHR;Domain=.google.com;Path=/;Expires=Fri, 05-Jun-2015 16:24:18 GMT;HttpOnly". Unable to parse expires attribute: Fri
12-04 14:23:43.872  13618-14173/com.xxxxxx.mypackage E/ACRA﹕ Failed to send crash report for 1417710222000-approved.stacktrace
    org.acra.sender.ReportSenderException: Error while sending report to Google Form.
            at org.acra.sender.GoogleFormSender.send(GoogleFormSender.java:88)
            at org.acra.SendWorker.sendCrashReport(SendWorker.java:178)
            at org.acra.SendWorker.checkAndSendReports(SendWorker.java:141)
            at org.acra.SendWorker.run(SendWorker.java:77)
     Caused by: java.io.IOException: Host returned error code 404
            at org.acra.util.HttpRequest.sendPost(HttpRequest.java:139)
            at org.acra.sender.GoogleFormSender.send(GoogleFormSender.java:85)
            at org.acra.SendWorker.sendCrashReport(SendWorker.java:178)
            at org.acra.SendWorker.checkAndSendReports(SendWorker.java:141)
            at org.acra.SendWorker.run(SendWorker.java:77)
12-04 14:23:43.873  13618-14173/com.xxxxxx.mypackage D/ACRA﹕ #checkAndSendReports - finish
12-04 14:23:43.950  13618-14174/com.xxxxxx.mypackage D/ACRA﹕ Wait for Toast + worker ended. Kill Application ? true
12-04 14:23:43.951  13618-14174/com.xxxxxx.mypackage E/AndroidRuntime﹕ FATAL EXCEPTION: GAThread
    Process: com.xxxxxx.mypackage, PID: 13618
    java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.google.android.gms.analytics.service.START (has extras) }
            at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1674)
            at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1773)
            at android.app.ContextImpl.bindService(ContextImpl.java:1751)
            at android.content.ContextWrapper.bindService(ContextWrapper.java:538)
            at com.google.analytics.tracking.android.AnalyticsGmsCoreClient.connect(AnalyticsGmsCoreClient.java:82)
            at com.google.analytics.tracking.android.GAServiceProxy.connectToService(GAServiceProxy.java:330)
            at com.google.analytics.tracking.android.GAServiceProxy.createService(GAServiceProxy.java:210)
            at com.google.analytics.tracking.android.GAThread.init(GAThread.java:85)
            at com.google.analytics.tracking.android.GAThread.run(GAThread.java:352)
Community
  • 1
  • 1
rafael
  • 732
  • 1
  • 11
  • 20
  • possible duplicate of [Google In-App billing, IllegalArgumentException: Service Intent must be explicit, after upgrading to Android L Dev Preview](http://stackoverflow.com/questions/24480069/google-in-app-billing-illegalargumentexception-service-intent-must-be-explicit) – rds Aug 14 '15 at 18:47

2 Answers2

4

Lollipop enforces a security restriction that you cannot call startService(), stopService() or bindService() with implicit Intents. In order for this to work on Lollipop, update your code to specify the ComponentName in the Intent.

Larry Schiefer
  • 15,687
  • 2
  • 27
  • 33
  • Well im not calling any services method(or at least i don't know if im calling) could be some lib im using? Roboguice 2 or GCM maybe? And thanks for your answer! – rafael Dec 04 '14 at 14:21
  • Can you provide a longer backtrace from logcat? It may be the way in which you are interfacing with analytics. – Larry Schiefer Dec 04 '14 at 14:55
  • Also, you mentioned switching to gradle for you build: how did you integrate play services and analytics into your build? – Larry Schiefer Dec 04 '14 at 15:15
  • I updated the question with more logs, to integrate play services and analytics i only added the dependencies `compile 'com.google.android.gms:play-services:6.1.71' compile 'com.google.analytics:services:3.0'` – rafael Dec 04 '14 at 16:34
  • This looks as though you have another library using Google forms which may be tapping into analytics and that's causing a problem; but, it's pretty difficult to say for sure. Analytics 3.0 is considered deprecated, but I've not seen any info on it failing to work at all. – Larry Schiefer Dec 04 '14 at 17:09
  • I think the problem was using analytics v3 with google play services 6.1.71, i discovered that google analytics v4 is integrated with play services so i think this could be the problem, ill implement analytics v4 now – rafael Dec 04 '14 at 17:25
  • "update your code to specify the ComponentName in the Intent" : what does that mean ? May you be more specific ? Thanks ! – toto_tata Jan 03 '17 at 16:37
2

Update the GA to version 4. It will work.

Kavis
  • 98
  • 4