macOS下Android Studio运行Flutter项目报错Flutter tool无权访问文件目录
Flutter 特定项目Android构建权限报错解决方案
以下是针对仅单个项目触发权限报错、其余新建项目正常场景的分步排查方案:
- 第一步:全量清理项目缓存
在项目根目录终端依次执行以下命令,清除所有本地生成的临时缓存文件:flutter clean rm -rf ios/Pods ios/Podfile.lock pubspec.lock .dart_tool .flutter-plugins .flutter-plugins-dependencies flutter pub get - 第二步:移除macOS系统附加的隔离属性
从网络下载、跨设备拷贝、压缩包解压的项目会被macOS默认附加隔离属性,即使手动修改了读写权限也会触发访问限制,执行命令移除该属性:sudo xattr -r -d com.apple.quarantine <替换为你的项目根目录完整路径>
执行时输入本机用户密码即可完成操作。 - 第三步:授予Android构建脚本执行权限
进入项目下的android目录,执行以下命令给gradlew构建脚本加可执行权限,该文件无权限是触发该类泛化权限报错的高频原因:chmod +x gradlew - 第四步:重置项目所有文件的所有权
确保项目内所有文件的所有者为当前登录用户,而非root或其他用户:sudo chown -R $(whoami) <替换为你的项目根目录完整路径> - 第五步:排除IDE权限问题
不要通过Android Studio运行按钮构建,直接在项目根目录终端执行flutter build apk --debug测试:
如果命令行可正常构建,说明是Android Studio缺少磁盘访问权限,前往系统设置->隐私与安全性->完全磁盘访问权限,勾选Android Studio后重启IDE即可。
如果上述步骤都执行后仍有问题,可采用兜底方案:新建空白Flutter项目,将原有项目的lib目录、pubspec.yaml配置、assets资源等业务文件迁移到新项目即可正常构建。
内容的提问来源于stack exchange,提问作者Appolonias
相关产品推荐
相关产品推荐

