【问题标题】:Flutter google maps widget throws an errorFlutter 谷歌地图小部件抛出错误
【发布时间】:2021-08-11 12:25:29
【问题描述】:

我是 Flutter 的新手,我不必运行 Google Maps Widget。我将不胜感激任何帮助。谢谢! 我已经修改了 pubspec.yaml 文件以及 appdelicate.swift,插入了 google api 的 android manifest 文件。 I hope that this should mean that API is enabled 这是我的代码https://github.com/Vilumsy/kalle_first

错误:

For more information see https://dart.dev/null-safety/unsound-null-safety
I/zzbz    ( 8068): Making Creator dynamically
W/Gralloc3( 8068): allocator 3.x is not supported
W/ple.kalle_firs( 8068): Unsupported class loader
I/DynamiteModule( 8068): Considering local module com.google.android.gms.maps_dynamite:0 and remote module com.google.android.gms.maps_dynamite:203113001
I/DynamiteModule( 8068): Selected remote version of com.google.android.gms.maps_dynamite, version >= 203113001
V/DynamiteModule( 8068): Dynamite loader version >= 2, using loadModule2NoCrashUtils
I/Google Maps Android API( 8068): Google Play services client version: 12451000
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getUnsafe()Lsun/misc/Unsafe; (greylist,core-platform-api, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J (greylist,core-platform-api, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, 
allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->allocateInstance(Ljava/lang/Class;)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->peekLong(JZ)J (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->pokeLong(JJZ)V (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->pokeInt(JIZ)V (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->peekInt(JZ)I (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->pokeByte(JB)V (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->peekByte(J)B (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->pokeByteArray(J[BII)V (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->peekByteArray(J[BII)V (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I (greylist,core-platform-api, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, 
allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->arrayIndexScale(Ljava/lang/Class;)I (greylist, linking, allowed)    
W/ple.kalle_firs( 8068): Accessing hidden method Llibcore/io/Memory;->peekByte(J)B (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden field Ljava/nio/Buffer;->address:J (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, reflection, allowed)        
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, reflection, allowed)       
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, reflection, allowed)      
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, reflection, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
I/Google Maps Android API( 8068): Google Play services package version: 212621037
I/Google Maps Android API( 8068): Google Play services maps renderer version(legacy): 203113001
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
E/MethodChannel#flutter/platform_views( 8068): Failed to handle method call
E/MethodChannel#flutter/platform_views( 8068): java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
E/MethodChannel#flutter/platform_views( 8068):  at com.google.maps.api.android.lib6.drd.p.a(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):6)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.maps.api.android.lib6.auth.f.i(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):1)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.maps.internal.CreatorImpl.b(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):30)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.maps.internal.CreatorImpl.newMapViewDelegate(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):2)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.maps.internal.g.aX(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):18)
E/MethodChannel#flutter/platform_views( 8068):  at dy.onTransact(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):4)
E/MethodChannel#flutter/platform_views( 8068):  at android.os.Binder.transact(Binder.java:914)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.internal.maps.zza.zza(Unknown Source:10)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.maps.internal.zzf.zza(Unknown Source:19)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.maps.MapView$zzb.createDelegate(Unknown Source:13)
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.dynamic.DeferredLifecycleHelper.zaa(Unknown Source:18)        
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.dynamic.DeferredLifecycleHelper.onCreate(Unknown Source:22)   
E/MethodChannel#flutter/platform_views( 8068):  at com.google.android.gms.maps.MapView.onCreate(Unknown Source:26)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugins.googlemaps.GoogleMapController.onCreate(GoogleMapController.java:544)
E/MethodChannel#flutter/platform_views( 8068):  at androidx.lifecycle.FullLifecycleObserverAdapter.onStateChanged(FullLifecycleObserverAdapter.java:36)
E/MethodChannel#flutter/platform_views( 8068):  at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
E/MethodChannel#flutter/platform_views( 8068):  at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:188)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugins.googlemaps.GoogleMapController.init(GoogleMapController.java:113) 
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugins.googlemaps.GoogleMapBuilder.build(GoogleMapBuilder.java:38)       
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugins.googlemaps.GoogleMapFactory.create(GoogleMapFactory.java:53)      
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugin.platform.SingleViewPresentation.onCreate(SingleViewPresentation.java:186)
E/MethodChannel#flutter/platform_views( 8068):  at android.app.Dialog.dispatchOnCreate(Dialog.java:423)
E/MethodChannel#flutter/platform_views( 8068):  at android.app.Dialog.show(Dialog.java:317)
E/MethodChannel#flutter/platform_views( 8068):  at android.app.Presentation.show(Presentation.java:261)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugin.platform.VirtualDisplayController.<init>(VirtualDisplayController.java:95)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugin.platform.VirtualDisplayController.create(VirtualDisplayController.java:48)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugin.platform.PlatformViewsController$1.createVirtualDisplayForPlatformView(PlatformViewsController.java:207)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:104)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:59)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#flutter/platform_views( 8068):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)    
E/MethodChannel#flutter/platform_views( 8068):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter/platform_views( 8068):  at android.os.MessageQueue.next(MessageQueue.java:336)
E/MethodChannel#flutter/platform_views( 8068):  at android.os.Looper.loop(Looper.java:181)
E/MethodChannel#flutter/platform_views( 8068):  at android.app.ActivityThread.main(ActivityThread.java:7560)
E/MethodChannel#flutter/platform_views( 8068):  at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter/platform_views( 8068):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
E/MethodChannel#flutter/platform_views( 8068):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
E/flutter ( 8068): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(error, API key not found.  Check 
that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml, null, java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
E/flutter ( 8068):      at com.google.maps.api.android.lib6.drd.p.a(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):6)
E/flutter ( 8068):      at com.google.maps.api.android.lib6.auth.f.i(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):1)
E/flutter ( 8068):      at com.google.android.gms.maps.internal.CreatorImpl.b(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):30)
E/flutter ( 8068):      at com.google.android.gms.maps.internal.CreatorImpl.newMapViewDelegate(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):2)
E/flutter ( 8068):      at com.google.android.gms.maps.internal.g.aX(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):18)
E/flutter ( 8068):      at dy.onTransact(:com.google.android.gms.dynamite_mapsdynamite@212621081@21.26.21 (120400-0):4)
E/flutter ( 8068):      at android.os.Binder.transact(Binder.java:914)
E/flutter ( 8068):      at com.google.android.gms.internal.maps.zza.zza(Unknown Source:10)
E/flutter ( 8068):      at com.google.android.gms.maps.internal.zzf.zza(Unknown Source:19)
E/flutter ( 8068):      at com.google.android.gms.maps.MapView$zzb.createDelegate(Unknown Source:13)
E/flutter ( 8068):      at com.google.android.gms.dynamic.DeferredLifecycleHelper.zaa(Unknown Source:18)
E/flutter ( 8068):      at com.google.android.gms.dynamic.DeferredLifecycleHelper.onCreate(Unknown Source:22)
E/flutter ( 8068):      at com.google.android.gms.maps.MapView.onCreate(Unknown Source:26)
E/flutter ( 8068):      at io.flutter.plugins.googlemaps.GoogleMapController.onCreate(GoogleMapController.java:544)
E/flutter ( 8068):      at androidx.lifecycle.FullLifecycleObserverAdapter.onStateChanged(FullLifecycleObserverAdapter.java:36)
E/flutter ( 8068):      at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
E/flutter ( 8068):      at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:188)
E/flutter ( 8068):      at io.flutter.plugins.googlemaps.GoogleMapController.init(GoogleMapController.java:113)
E/flutter ( 8068):      at io.flutter.plugins.googlemaps.GoogleMapBuilder.build(GoogleMapBuilder.java:38)
E/flutter ( 8068):      at io.flutter.plugins.googlemaps.GoogleMapFactory.create(GoogleMapFactory.java:53)
E/flutter ( 8068):      at io.flutter.plugin.platform.SingleViewPresentation.onCreate(SingleViewPresentation.java:186)
E/flutter ( 8068):      at android.app.Dialog.dispatchOnCreate(Dialog.java:423)
E/flutter ( 8068):      at android.app.Dialog.show(Dialog.java:317)
E/flutter ( 8068):      at android.app.Presentation.show(Presentation.java:261)
E/flutter ( 8068):      at io.flutter.plugin.platform.VirtualDisplayController.<init>(VirtualDisplayController.java:95)
E/flutter ( 8068):      at io.flutter.plugin.platform.VirtualDisplayController.create(VirtualDisplayController.java:48)
E/flutter ( 8068):      at io.flutter.plugin.platform.PlatformViewsController$1.createVirtualDisplayForPlatformView(PlatformViewsController.java:207)
E/flutter ( 8068):      at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:104)      
E/flutter ( 8068):      at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:59) 
E/flutter ( 8068):      at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/flutter ( 8068):      at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter ( 8068):      at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)
E/flutter ( 8068):      at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 8068):      at android.os.MessageQueue.next(MessageQueue.java:336)
E/flutter ( 8068):      at android.os.Looper.loop(Looper.java:181)
E/flutter ( 8068):      at android.app.ActivityThread.main(ActivityThread.java:7560)
E/flutter ( 8068):      at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 8068):      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
E/flutter ( 8068):      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
E/flutter ( 8068): )
E/flutter ( 8068): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:581:7)
E/flutter ( 8068): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.da
W/ple.kalle_firs( 8068): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
I/bf      ( 8068): Successfully registered with Phenotype.
W/RenderInspector( 8068): DequeueBuffer time out on com.example.kalle_first/com.example.kalle_first.MainActivity, count=1, avg=27 ms, max=27 ms.

【问题讨论】:

    标签: flutter google-maps


    【解决方案1】:

    错误很清楚吧? 未处理的异常:PlatformException(错误,未找到 API 密钥

    您需要添加一个 meta-data 标记,其中包含 application 标记内的 google map api 键,如下所示 AndroidManifest.xml 文件

    AndroidManifest.xml 文件位于 your_project_folder/android/app/main 文件夹中。将以下元标记放在 application 标记内。

    注意:您需要从 google 控制台获取 google map api 密钥

       <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="YOUR_API_KEY" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-13
      • 2021-07-31
      • 1970-01-01
      • 2019-02-25
      • 2016-05-09
      • 2016-10-09
      • 1970-01-01
      相关资源
      最近更新 更多