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

Flutter应用提交Play Console审核时遇java.lang.SecurityException报错求助

解决Google Play审核报错java.lang.SecurityException: No active admin

问题描述

提交Flutter应用至Google Play Console审核时遇到错误:java.lang.SecurityException: No active admin,应用未使用锁屏等设备管理功能,但审核附带视频中应用运行正常。

错误截图:
错误截图

应用的pubspec.yaml依赖配置如下:

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  dio: ^4.0.6
  equatable: ^2.0.5
  freezed_annotation: ^2.1.0
  intl: ^0.17.0
  json_annotation: ^4.7.0
  flutter_bloc: ^8.1.1
  bloc: ^8.1.0
  get_it: ^7.2.0
  logger: ^1.1.0
  flutter_localizations:
    sdk: flutter
  hive: ^2.2.3
  hive_flutter: ^1.1.0
  path_provider: ^2.0.11
  flutter_svg: ^1.1.5
  auto_route: ^5.0.1
  google_fonts: ^3.0.1
  html: ^0.15.1
  easy_refresh: ^3.0.4+3
  connectivity_plus: ^3.0.2
  tuple: ^2.0.1
  url_launcher: ^6.1.7
  collection: ^1.16.0
  image_picker: ^0.8.6
  cupertino_back_gesture: ^0.1.0
  flutter_html: ^3.0.0-alpha.6
  firebase_messaging: ^14.2.1
  firebase_core: ^2.4.1
  flutter_local_notifications: any
  alice: ^0.3.2
  firebase_crashlytics: ^3.0.11
  device_info_plus: ^8.0.0
  flutter_native_splash: ^2.2.18
  fluttertoast: ^8.2.1
  webview_flutter: ^3.0.4
  flutter_pdfview: ^1.2.9
  path: ^1.8.2
  lottie: ^2.3.0
  percent_indicator: ^4.2.3
  flutter_launcher_icons: ^0.13.0
  in_app_purchase: ^3.1.5
  in_app_purchase_storekit: ^0.3.6+3
  in_app_purchase_platform_interface: ^1.3.3
  in_app_purchase_android: ^0.2.5+4

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner: ^2.2.1
  flutter_lints: ^2.0.0
  freezed: any
  json_serializable: ^6.4.0
  # hive_generator: ^1.1.3
  auto_route_generator: any

原因分析

这个异常的核心是代码尝试调用需要设备管理员权限的API,但当前应用未被系统激活为设备管理员。即便你没有直接使用设备管理功能,也可能是某个第三方依赖包间接引入了相关逻辑,或者AndroidManifest.xml中意外添加了相关权限/组件声明。

解决步骤

  1. 检查AndroidManifest.xml配置
    打开android/app/src/main/AndroidManifest.xml,搜索以下内容:

    • 权限声明:<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
    • 设备管理员组件:包含android.app.action.DEVICE_ADMIN_ENABLED的<receiver>标签
      如果发现上述内容且并非业务必需,直接移除。
  2. 排查第三方依赖
    执行命令查看完整依赖树:

    flutter pub deps
    

    重点排查涉及设备权限、支付、设备信息类的包(比如in_app_purchase_android、device_info_plus),确认是否有包依赖了设备管理相关的Android库。如果找到嫌疑包,查看其官方文档或Issue,确认是否存在已知问题,考虑更新到最新版本或替换替代包。

  3. 模拟审核场景复现错误
    在本地模拟器或测试设备上,尝试在无设备管理员权限的环境下运行应用,复现报错。可以借助Android Studio的权限管理工具,临时禁用相关权限,定位触发异常的代码路径。

  4. 添加异常捕获
    如果确实有依赖包不可避免地调用了相关API,在对应代码位置添加异常捕获,避免崩溃:

    try {
      // 可能触发异常的代码
    } on PlatformException catch (e) {
      if (e.code == 'SecurityException') {
        // 处理无管理员权限的情况,比如提示用户或跳过操作
      }
    }
    
  5. 更新所有依赖包
    将pubspec.yaml中的所有依赖更新到最新稳定版本,旧版本的第三方包可能存在未修复的权限问题。执行以下命令更新:

    flutter pub upgrade
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 21:07:24