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

升级Target SDK至33(Android 13)后Flutter应用无法自动启动

解决Flutter在API33模拟器中安装后无法自动启动且flutter run卡住的问题

以下是针对该问题的排查和解决步骤:

  • 验证主Activity的启动配置
    确认AndroidManifest.xml中主Activity的<intent-filter>配置完整,必须包含启动入口的核心声明:

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    

    API33对启动入口的验证更严格,缺失上述配置会导致系统无法识别应用启动项,进而让flutter run流程卡在安装环节。

  • 清理构建缓存与旧产物
    依次执行命令清理缓存,避免旧构建文件干扰新流程:

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

    完成后重新执行flutter run。

  • 检查API33专属权限配置
    API33新增了POST_NOTIFICATIONS权限,如果应用启动时隐式请求该权限但未正确处理,可能阻塞启动流程。先在AndroidManifest.xml中声明权限:

    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    

    若应用确实需要该权限,需在启动阶段通过代码动态申请,避免权限请求阻塞启动。

  • 核对Gradle核心配置
    检查android/app/build.gradle的defaultConfig块,确保applicationId、版本号配置准确无误:

    defaultConfig {
        applicationId "com.your.app.package"
        minSdkVersion 23
        targetSdkVersion 33
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }
    

    错误的包名会导致adb无法正确识别应用,无法触发自动启动指令。

  • 重置ADB连接
    重启adb服务,确保模拟器与开发环境连接状态正常:

    adb kill-server
    adb start-server
    

    重启模拟器后再次执行flutter run。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:12:35