You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中google_maps_flutter最新渲染器初始化异常问题排查

Google Maps Flutter Android端最新渲染器初始化问题

我在排查应用初始化时遇到以下警告,怀疑和Google Maps的legacy渲染器有关:

W/DynamiteModule(11578): Local module descriptor class for com.google.android.gms.googlecertificates not found.
I/DynamiteModule(11578): Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:7
I/DynamiteModule(11578): Selected remote version of com.google.android.gms.googlecertificates, version >= 7    
W/MobStoreFlagStore(11578): Unable to update local snapshot for com.google.android.libraries.consentverifier#com.xxxxx , may result in stale flags.
W/MobStoreFlagStore(11578): java.util.concurrent.ExecutionException: java.lang.SecurityException: GoogleCertificatesRslt: not allowed: pkg=com.xxxxx

根据Google官方问题追踪的信息,legacy渲染器的问题可能导致上述输出,且官方表示目前优先开发Latest渲染器,legacy的问题处理周期较长。

已尝试的解决步骤

  • 确认已满足Latest渲染器的要求:
    • Android 5.0(API level 21)及以上版本
    • 设备存储空间≥2GB
    • Google Play services版本≥21.39.14
  • 在所有GoogleMaps实例初始化前,执行了Latest渲染器的初始化代码:
    import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
    import 'package:google_maps_flutter_android/google_maps_flutter_android.dart';
    
    [...]
    
    Future<void> initMapsRenderer() async {
    
        // Initialization for custom Android map renderer.
        AndroidMapRenderer mapRenderer = AndroidMapRenderer.platformDefault;
        
        final GoogleMapsFlutterPlatform mapsImplementation = GoogleMapsFlutterPlatform.instance;
    
        if (mapsImplementation is GoogleMapsFlutterAndroid) {
          WidgetsFlutterBinding.ensureInitialized();
          mapRenderer = await mapsImplementation.initializeWithRenderer(AndroidMapRenderer.latest);
        }
      }
    
    pubspec.yaml配置:
    google_maps_flutter: ^2.5.0
    
  • 控制台输出显示:
    D/MapsInitializer( 1249): preferredRenderer: LATEST
    I/Google Maps Android API(11578): Google Play services package version: 233717063
    I/Google Maps Android API(11578): Google Play services maps renderer version(legacy): 203115000
    D/MapsInitializer(11578): loadedRenderer: LEGACY
    

2023年11月2日更新

在两台真机上测试相同代码,结果存在设备差异:

Motorola E20

I/Google Maps Android API(22922): Google Play services client version: 12451000
I/Google Maps Android API(22922): Google Play services package version: 234212063
I/Google Maps Android API(22922): Google Play services maps renderer version(legacy): 203115000
D/MapsInitializer(22922): loadedRenderer: LEGACY

Samsung S22

I/Google Android Maps SDK(27745): Google Play services client version: 12451000
I/Google Android Maps SDK(27745): Google Play services package version: 234313039
I/Google Android Maps SDK(27745): Google Play services maps renderer version(maps_core): 233610101
D/MapsInitializer(27745): loadedRenderer: LATEST

两台设备的Google Play services均已更新至最新版本,但输出显示服务包版本不同,且存在Google Maps Android API和Google Maps Android SDK的差异。

请问仍加载legacy渲染器的原因可能是什么?有什么排查思路吗?

内容的提问来源于stack exchange,提问作者rph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 11:43:16