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

VSCode调试Flutter Android真机卡在黑屏,模拟器运行正常

Flutter应用在Vivo T2X 5G(Android 13)真机黑屏,模拟器正常运行

调试Flutter应用时,在**Vivo T2X 5G(Android 13版本)**真机上启动后卡在黑屏状态,但Android模拟器中可正常运行。

运行结果

调试日志

I/flutter (19963): The Dart VM service is listening on ************************************
D/FlutterGeolocator(19963): Creating service.
D/FlutterGeolocator(19963): Binding to location service.
D/FlutterGeolocator(19963): Geolocator foreground service connected
D/FlutterGeolocator(19963): Initializing Geolocator services
D/FlutterGeolocator(19963): Flutter engine connected. Connected engine count 1

解决步骤

  • 补全位置权限配置:
    Android 13对位置权限管控更严格,确保AndroidManifest.xml中添加必要权限:

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- 启用前台服务需额外添加 -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
    

    同时在代码中动态申请权限,避免因权限未授予导致Geolocator阻塞UI线程。

  • 解除Vivo系统后台限制:
    Vivo Android 13的省电策略可能拦截应用后台服务,前往「设置→电池→后台高耗电管理」,允许你的应用后台高耗电;或在「设置→应用与权限→应用管理→你的应用→权限→特殊权限」中开启「忽略电池优化」。

  • 升级Geolocator插件版本:
    检查geolocator插件版本,确保其适配Android 13,建议升级到最新稳定版,修复版本兼容导致的初始化异常。

  • 临时禁用硬件加速测试:
    在AndroidManifest.xml的<application>标签中添加android:hardwareAccelerated="false",排查是否因Vivo机型硬件加速兼容性问题导致渲染失败。

  • 排查UI线程阻塞:
    日志显示Flutter引擎已连接,但UI未渲染,检查runApp()之前的代码是否有同步阻塞操作(比如同步请求位置信息),将这类操作移至异步任务中执行。

内容的提问来源于stack exchange,提问作者Ajay T P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 06:42:12