Flutter Android调试模式安装失败:Operation not permitted问题求助
问题描述
在Android模拟器或真机上构建并运行Flutter项目时,持续出现以下ADB错误:
Error: ADB exited with exit code 1
Performing Streamed Installadb: 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 unrootadb kill-server && adb start-serveradb 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
相关产品推荐
相关产品推荐

