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

Flutter Google Maps与CachedNetworkImage安卓模拟器运行异常求助

问题排查与解决步骤

Google Maps空白+平台视图未注册错误修复

  • 确认API密钥配置位置正确:<meta-data>标签必须放在AndroidManifest.xml的<application>标签内部,和<activity>标签同级,不要放在<manifest>根标签下。
  • 手动注册Google Maps插件(修复自动注册失效问题):
    打开android/app/src/main/kotlin/[你的包名路径]/MainActivity.kt,添加如下代码:
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.googlemaps.GoogleMapsPlugin

class MainActivity: FlutterActivity() {
  override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
    super.configureFlutterEngine(flutterEngine)
    flutterEngine.plugins.add(GoogleMapsPlugin())
  }
}
  • 若开启了代码混淆,在android/app/proguard-rules.pro中添加Google Maps混淆规则:
-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }
  • 升级google_maps_flutter到2.2.0以上稳定版本,当前使用的2.0.9版本存在已知安卓端平台视图注册BUG,升级后可直接修复。

CachedNetworkImage仅显示加载指示器修复

  • 如果待加载图片是HTTP协议链接,安卓9及以上系统默认禁止明文流量访问,需在AndroidManifest.xml的<application>标签添加属性:
android:usesCleartextTraffic="true"
  • 升级cached_network_image到3.2.0以上稳定版本,当前使用的3.1.0版本存在安卓端缓存逻辑BUG,升级后可解决加载卡住的问题。
  • 可添加请求头绕过服务器的UA校验限制,代码示例:
ClipOval(
  child: CachedNetworkImage(
    imageUrl: userData.profileImage,
    httpHeaders: const {"User-Agent": "Mozilla/5.0 (Android 11; Mobile; rv:91.0) Gecko/91.0 Firefox/91.0"},
    progressIndicatorBuilder: (context, url, downloadProgress) =>
        CircularProgressIndicator(value: downloadProgress.progress),
    errorWidget: (context, url, error) => Icon(Icons.error),
  ),
)
  • 确认安卓模拟器可以正常访问图片链接,可在模拟器自带浏览器中打开图片地址测试,若使用国内模拟器需配置代理才可正常访问境外资源。

通用验证步骤

所有配置修改完成后执行以下命令重新构建应用:

flutter clean
flutter pub get
cd android && ./gradlew clean
cd .. && flutter run

若模拟器测试仍有异常,可直接使用安卓真机测试,排除模拟器本身的网络、Google服务兼容缺陷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:36:01