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

Flutter Android调试模式安装失败:Operation not permitted问题求助

问题描述

在Android模拟器或真机上构建并运行Flutter项目时,持续出现以下ADB错误:

Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to open /[FLUTTER PROJECT PATH]/build/app/outputs/flutter-apk/app-debug.apk: Operation not permitted
Error launching application on sdk gphone64 x86 64.

此前项目运行正常,在引入并移除部分新包后出现该问题。直接通过Android Studio打开android目录构建、iOS真机/模拟器构建均正常,仅Android调试模式受影响。

已尝试的解决方法:

  • flutter clean && flutter pub get
  • 删除android目录后执行 flutter create .
  • 删除build目录后执行 flutter build
  • adb root / adb unroot
  • adb kill-server && adb start-server
  • adb reboot

需要确认问题根源(ADB/Flutter/Android相关)并获取有效解决方案。

可能的解决方案

1. 检查APK文件权限

手动查看报错路径下的app-debug.apk文件权限:

ls -l /[FLUTTER PROJECT PATH]/build/app/outputs/flutter-apk/app-debug.apk

如果权限不足,执行以下命令赋予可读权限:

chmod +r /[FLUTTER PROJECT PATH]/build/app/outputs/flutter-apk/app-debug.apk

之后重新尝试运行项目。

2. 验证Flutter与ADB环境兼容性

  • 执行 flutter doctor 查看环境状态,修复所有提示的异常项
  • 执行 adb version 确认ADB版本,若版本过旧,更新Android SDK Platform Tools到最新版本

3. 禁用流式安装

运行项目时添加--no-stream参数,跳过流式安装流程:

flutter run --no-stream

若此方法有效,说明流式安装过程中存在权限或传输类问题。

4. 检查Gradle配置完整性

由于问题出现在依赖包修改后,需确认Gradle配置未被篡改:

  • 对比android/build.gradle和android/app/build.gradle与之前正常运行时的配置(如有备份)
  • 确保compileSdkVersion、minSdkVersion与当前Flutter SDK要求的版本匹配
  • 执行 flutter pub deps 检查依赖是否存在冲突,清理无效依赖项

5. 排查系统级权限限制

  • macOS:前往「系统设置」-「隐私与安全性」,确认ADB(Android Studio相关进程)拥有文件访问权限
  • Linux:检查SELinux/AppArmor等安全模块是否限制了ADB的文件操作,可临时关闭进行测试

6. 更换ADB连接方式

  • 真机:切换USB连接模式为「文件传输」而非「仅充电」
  • 模拟器:重启模拟器后执行adb devices确认设备正常识别,再重新运行项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:57:17