我正在开发的Android Xamarin应用程序通过应用程序中心报告了以下调用堆栈错误:
android.os.BinderProxy.transactNative Binder.java
android.os.BinderProxy.transact Binder.java:503
android.app.ActivityManagerProxy.bindService ActivityManagerNative.java:4509
android.app.ContextImpl.bindServiceCommon ContextImpl.java:1432
android.app.ContextImpl.bindService ContextImpl.java:1395
android.content.ContextWrapper.bindService ContextWrapper.java:632
jd.b :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):10
im.a :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):23
im.a :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):40
he.h :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):26
hi.handleMessage :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):50
android.os.Handler.dispatchMessage Handler.java:98
android.os.Looper.loop Looper.java:158
android.os.HandlerThread.run HandlerThread.java:61
我自己从来没有见过这个错误,但我相信它是由谷歌地图引起的,正如所暗示的那样
com.google.android.gms.dynamite_mapsdynamite...
我的应用程序使用Xamarin Forms Map类:Xamarin.Forms.Maps.Map
。
由于我不知道如何重现这个问题(这很罕见(,而且我在调用堆栈中没有看到任何自己的代码(似乎都是内部java调用(,有没有办法进一步诊断这个问题,或者以某种方式抑制错误?
据应用中心称,这导致我们的应用程序崩溃。由于地图对我们的应用程序来说并不重要(只是为了方便(,我宁愿有一个丢失的地图,也不愿崩溃,所以即使是高级错误抑制也是可以的。
有没有一种方法可以让我找出可能导致错误的原因?有没有办法抑制它或解决根本问题?
我会使用AppCenter的LogFlow并记录进入地图部分的所有参数。这样,当崩溃发生时,你可以看到哪些参数进入其中,你可能能够复制它。由于它是一个外部API,我也会在谷歌地图控制台中查找错误,并检查你是否达到了谷歌地图计划的任何限制。