应用程序在谷歌地图加载时崩溃,错误“libc.so abort 160 flutter”

Posted

技术标签:

【中文标题】应用程序在谷歌地图加载时崩溃,错误“libc.so abort 160 flutter”【英文标题】:App crashing on google map load with error "libc.so abort 160 flutter" 【发布时间】:2021-02-23 14:03:47 【问题描述】:

android 设备上加载谷歌地图时应用程序崩溃并出现错误“libc.so abort 160 flutter”。

仅发布 apk 调试运行良好!!

没有详细的错误我不知道是什么问题..

编辑 我发现了错误!!

2020-11-11 20:44:58.995 25431-25431/? E/MethodChannel#flutter/platform_views:无法处理方法调用 java.lang.NullPointerException:尝试在空对象引用上调用接口方法“java.lang.Object java.util.Map.get(java.lang.Object)”在 io.flutter.plugins.googlemaps.es(未知来源:10) 在 io.flutter.plugins.googlemaps.ga(未知来源:28) 在 io.flutter.plugin.platform.SingleViewPresentation.onCreate(未知来源:116)在 android.app.Dialog.dispatchOnCreate(Dialog.java:423) 在 android.app.Dialog.show(Dialog.java:317) 在 android.app.Presentation.show(Presentation.java:259) 在 io.flutter。 plugin.platform.l.(Unknown Source:55) at io.flutter.plugin.platform.la(Unknown Source:65) at io.flutter.plugin.platform.k$ag(Unknown Source:110) at io.flutter .embedding.engine.ii$ab(Unknown Source:152) at io.flutter.embedding.engine.ii$aG(Unknown Source:144) at gadaj$aa(Unknown Source:17) at io.flutter.embedding.engine .ebd(Unknown Source:57) at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessa ge(Unknown Source:4) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:336) at android.os.Looper.loop(Looper.java:182) at android.app.ActivityThread.main(ActivityThread.java:7564) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) 2020-11-11 20:44:58.997 25431-25491/? E/flutter:[错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理异常:PlatformException(错误,尝试调用接口方法'java.lang.Object java.util.Map.get(java.lang. Object)' 在空对象引用上,null,java.lang.NullPointerException: 尝试在 io 的空对象引用上调用接口方法 'java.lang.Object java.util.Map.get(java.lang.Object)' .flutter.plugins.googlemaps.es(Unknown Source:10) at io.flutter.plugins.googlemaps.ga(Unknown Source:28) at io.flutter.plugin.platform.SingleViewPresentation.onCreate(Unknown Source:116) at android .app.Dialog.dispatchOnCreate(Dialog.java:423) 在 android.app.Dialog.show(Dialog.java:317) 在 android.app.Presentation.show(Presentation.java:259) 在 io.flutter.plugin。 platform.l.(Unknown Source:55) at io.flutter.plugin.platform.la(Unknown Source:65) at io.flutter.plugin.platform.k$ag(Unknown Source:110) at io.flutter.embedding .engine.ii$ab(Unknown Source:152) at io.flutter.embedding.engine.ii$aG(Unknown Source:1 44) 在 gadaj$aa(Unknown Source:17) at io.flutter.embedding.engine.ebd(Unknown Source:57) at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(Unknown Source:4) at android.os .MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:336) at android.os.Looper.loop(Looper.java:182) at android.app.ActivityThread.main(ActivityThread.java :7564) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) 在 com.android.internal.os.ZygoteInit.main (ZygoteInit.java:950) ) #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582) #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159) #2 TextureAndroidViewController._sendCreateMessage (package:flutter/src/services/platform_views.dart:1039) #3 AndroidViewController.create (package:flutter/src/services/platform_views.dart:749) #4 RenderAndroidView._sizeP latformView (package:flutter/src/rendering/platform_view.dart:174)

【问题讨论】:

你不会碰巧在使用 ListView 吧? 不,我不使用列表视图 如果从页面中删除谷歌地图它运行良好..所以我认为谷歌地图会导致这种情况 是的。这似乎是在 ListView 顶部打开的键盘/可以滚动的东西(包括谷歌地图)的问题......github.com/flutter/flutter/issues/45218 在调试和发布模式下链接库有什么区别? 【参考方案1】:

已修复。

看起来 gradle 更新破坏了项目.. 发布版本中缺少一些类。 我将 gdle 降级为

classpath 'com.android.tools.build:gradle:3.6.2'

它现在正在工作

【讨论】:

以上是关于应用程序在谷歌地图加载时崩溃,错误“libc.so abort 160 flutter”的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图Android片段崩溃

如何设置Map(),setVisible()4000/5000的标记而不会在谷歌地图api V3中失去性能?

JVM 在 Solaris 框中崩溃 有问题的框架:# C [libc.so.1]# [ timer expired, abort... ]

经过几个月的 100% 稳定性,今天我在谷歌地图服务上收到 403 错误

/system/lib/libc.so,libgstreamer_android.so上的本机崩溃

如何在谷歌地图上一一加载标记动画[重复]