mixpanel / mixpanel-android

Official Android Tracking Library for Mixpanel Analytics
http://mixpanel.com/
Apache License 2.0
1.02k stars 366 forks source link

Another crash because of installreferrer lib. #700

Closed folkyatina closed 3 years ago

folkyatina commented 4 years ago

It happens here Looks like a common android issue that just need a trycatch workaround.

Mixpanel version 2.8.3 installreferrer version 1.1.2


Caused by: java.lang.SecurityException: 
  at android.app.ContextImpl.bindServiceCommon (ContextImpl.java:1914)
  at android.app.ContextImpl.bindService (ContextImpl.java:1878)
  at android.content.ContextWrapper.bindService (ContextWrapper.java:539)
  at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection (InstallReferrerClientImpl.java:35)
  at com.mixpanel.android.mpmetrics.InstallReferrerPlay.connect (InstallReferrerPlay.java:129)
  at com.mixpanel.android.mpmetrics.MixpanelAPI.<init> (MixpanelAPI.java:456)
  at com.mixpanel.android.mpmetrics.MixpanelAPI.<init> (MixpanelAPI.java:388)
  at com.mixpanel.android.mpmetrics.MixpanelAPI.getInstance (MixpanelAPI.java:650)
  at com.mixpanel.android.mpmetrics.MixpanelAPI.getInstance (MixpanelAPI.java:599)
  at com.songsterr.analytics.MixpanelModule.<init> (MixpanelModule.java:55)
  at com.songsterr.analytics.Analytics.initAppSubmodules (Analytics.java:84)
  at com.songsterr.KoinKt$appModule$1$5.invoke (KoinKt.java:70)
  at com.songsterr.KoinKt$appModule$1$5.invoke (KoinKt.java:3)
  at org.koin.core.instance.InstanceFactory.create (InstanceFactory.java:50)
  at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.java:40)
  at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.java:48)
  at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.java:87)
  at org.koin.core.scope.Scope.resolveInstance (Scope.java:214)
  at org.koin.core.scope.Scope.get (Scope.java:181)
  at com.songsterr.KoinKt$appModule$1$17.invoke (KoinKt.java:193)
  at com.songsterr.KoinKt$appModule$1$17.invoke (KoinKt.java:3)
  at org.koin.core.instance.InstanceFactory.create (InstanceFactory.java:50)
  at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.java:40)
  at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.java:48)
  at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.java:87)
  at org.koin.core.scope.Scope.resolveInstance (Scope.java:214)
  at org.koin.core.scope.Scope.get (Scope.java:181)
  at com.songsterr.Songsterr.onCreate (Songsterr.java:207)
  at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1017)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4845)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:178)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1531)
  at android.os.Handler.dispatchMessage (Handler.java:111)
  at android.os.Looper.loop (Looper.java:194)
  at android.app.ActivityThread.main (ActivityThread.java:5624)
  at java.lang.reflect.Method.invoke (Method.java)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:959)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:754)```
alparp27 commented 4 years ago

I have similar issue with stacktrace: java.lang.IllegalArgumentException: Service not registered: com.android.installreferrer.api.InstallReferrerClientImpl$InstallReferrerServiceConnection@32cf039 at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1545) at android.app.ContextImpl.unbindService(ContextImpl.java:1623) at android.content.ContextWrapper.unbindService(ContextWrapper.java:697) at com.android.installreferrer.api.InstallReferrerClientImpl.endConnection(InstallReferrerClientImpl.java:170) at com.mixpanel.android.mpmetrics.InstallReferrerPlay.disconnect(InstallReferrerPlay.java:152) at com.mixpanel.android.mpmetrics.InstallReferrerPlay.onInstallReferrerSetupFinished(InstallReferrerPlay.java:117) at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:162) at com.mixpanel.android.mpmetrics.InstallReferrerPlay.connect(InstallReferrerPlay.java:129) at com.mixpanel.android.mpmetrics.MixpanelAPI.(MixpanelAPI.java:456) at com.mixpanel.android.mpmetrics.MixpanelAPI.(MixpanelAPI.java:388) at com.mixpanel.android.mpmetrics.MixpanelAPI.getInstance(MixpanelAPI.java:650) at com.mixpanel.android.mpmetrics.MixpanelAPI.getInstance(MixpanelAPI.java:536) at com.everlance.Y.(Y.java:382) at com.everlance.Y.getInstance(Y.java:399) at com.everlance.X.logLowMemoryAndTrimMemory(X.java:152) at com.everlance.X.onTrimMemory(X.java:168) at android.app.ActivityThread.handleTrimMemory(ActivityThread.java:5501) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6709) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)

patedit commented 4 years ago

@folkyatina thanks for reporting this. it was on my radar and it's quite unfortunate we can't do much about it besides catching the exception so it silently fails... I opened a PR here: https://github.com/mixpanel/mixpanel-android/pull/701 @alparp27 your issue was already fixed. take a look at this ticket 🙏 : https://github.com/mixpanel/mixpanel-android/issues/678

zihejia commented 3 years ago

I'm closing this issue, please feel free to reopen it if the problem still exists.

juliocbcotta commented 3 years ago

It seems this was fixed in the version 2.2 https://developer.android.com/google/play/installreferrer/release-notes#2_2

Is the current MixPanel implementation compatible with that version ?