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

Flutter应用提交Google Play因崩溃遭拒,自测无崩溃求排查原因

Flutter应用Google Play审核因崩溃被拒的排查方案
  • 核对环境差异

    • 设备架构:本地测试可能只覆盖了常用的arm64,但审核会测试多架构(armv7、x86等),打包时要指定全架构:flutter build appbundle --target-platform android-arm,android-arm64,android-x64。
    • Android版本:别只测高版本,覆盖到你设置的minSdkVersion对应的系统,比如minSdk是21,就得测Android 5.0的设备,避免低版本兼容问题。
    • 权限场景:模拟权限拒绝的情况,比如用户拒绝相机权限后,你的代码有没有做异常处理,直接调用相机大概率会崩。
  • 扒Google的崩溃日志

    • 去Play Console的「质量」→「Android vitals」→「崩溃」里找审核期间的崩溃记录,看堆栈信息:
      • 要是Native层崩溃,大概率是第三方SDK(推送、支付这类)或Flutter引擎版本的锅,试试升级Flutter稳定版。
      • 要是Dart层崩溃,查未捕获的异常,比如null安全没处理好,审核场景里的特定操作触发了空指针。
  • 模拟审核测试场景

    • 用Play Console的「预发布报告」自动测试,看报告里的崩溃点。
    • 测后台杀进程后重启的情况:系统回收内存后重启应用,要是没保存必要状态,访问空对象肯定崩。
    • 切换多语言/地区,比如你没测试过的小语种,字符串资源缺失或格式化错误也会崩。
  • 检查打包配置

    • 混淆规则别瞎写,确保Flutter核心类没被混淆,proguard-rules.pro里加上:
      -keep class io.flutter.app.** { *; }
      -keep class io.flutter.plugin.**  { *; }
      -keep class io.flutter.util.**  { *; }
      -keep class io.flutter.view.**  { *; }
      -keep class io.flutter.**  { *; }
      -keep class io.flutter.plugins.**  { *; }
      
    • 试试暂时关闭R8压缩,在gradle.properties里设android.enableR8=false,过度优化也可能搞崩应用。
  • 排查第三方依赖

    • 升级所有第三方包到最新稳定版,有些旧版本在新系统上有已知崩溃问题。
    • 删掉没用的依赖,减少潜在的崩溃风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:37:12