我们有一个拥有数百万用户的应用程序。在过去的一周里,我们收到了来自Firebase Crashlytics的大约30个“速度警报”,这些警报来自旧版本的应用程序,错误信息如下:
Fatal Exception: java.lang.SecurityException
GoogleCertificatesRslt: not allowed: pkg=com.example.app, sha1=<sha1 redacted>, atk=false, ver=203914019.true (go/gsrlt)
android.os.Parcel.readException (Parcel.java:1959)
android.os.Parcel.readException (Parcel.java:1905)
com.google.android.gms.common.internal.s.r (s.java:37)
com.google.android.gms.common.internal.W.u (W.java:90)
com.google.android.gms.common.api.internal.At.q (At.java:17)
com.google.android.gms.common.api.internal.rt.run (rt.java:5)
java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:457)
java.util.concurrent.FutureTask.run (FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
com.google.android.gms.internal.ef.run (ef.java:6)
java.lang.Thread.run (Thread.java:764)
它不会影响很多用户,可能是几百到一千个。通常我们不会注意到这么小的问题,但因为它似乎一次又一次地发生在这些用户身上,我们已经收到了所有的速度警报-使它更加明显。
为什么会发生这种情况呢?堆栈跟踪有点不同,但看起来确实与Google的GMS有关。
我们或我们的用户可以做些什么来避免它呢?
这个问题似乎在Android版本和设备供应商之间蔓延。
8条答案
按热度按时间46scxncf1#
这是Google Play服务中的一个问题,开发关系中的某个人证实了这一点。10月2日推出了一个修复程序,随着更多设备自动更新到最新版本(20.39.15),我们应该会看到这个问题的减少趋势。
4xrmg8kj2#
如果任何人在使用
MapView
时仍然有这个错误,使用MapView
,而不是片段实现,你可以尝试在初始化时添加以下代码:谷歌从2022年6月开始逐步更新默认渲染,这可能会导致
MapsInitializer.Render.LEGACY
崩溃。讨厌,但工作。更多的细节here。
a2mppw5e3#
下面的解决方案是为我工作,你能试试吗
在Android的“app/build.gradle”中添加了依赖性
9udxz4iz4#
如果您是第一次尝试运行应用程序,请确保打开Android设备的Wi-Fi。
mf98qq945#
尝试在创建MapView对象之前(在布局被膨胀之前)执行此操作:
njthzxwz6#
问题跟踪器链接:
https://issuetracker.google.com/issues/228091313
还有Flutter问题
https://github.com/flutter/flutter/issues/109115
b5buobof7#
确保API_KEY正确地从项目中提取
kuuvgm7e8#
我发现在com.google.android.gms:play-services-basement@17.1.0有些像这样的:
类似的错误消息。