误将getExternalFilesDirs方法加入黑名单,如何恢复?
修复
getExternalFilesDirs被加入黑名单的问题 别慌,从你提供的截图来看,这个方法被标记进了受限API黑名单,这种误操作很常见,我给你几个靠谱的修复步骤,挨个试试就行:
1. 调整Android Studio的Restricted API检查配置
这是最可能的原因——你不小心在IDE的代码检查设置里把这个方法设成了受限项:
- 打开Android Studio的设置(Windows/Linux点顶部菜单栏
File→Settings,Mac是Android Studio→Settings) - 依次展开
Editor→Inspections→Android Lint→Security,找到Restricted API选项 - 在右侧的规则列表里找到
getExternalFilesDirs,右键点击它,选择Remove from Restricted APIs,或者把它的检查级别从Error改成Warning/Ignore - 点击
Apply和OK保存设置,然后重新同步项目(点右上角的Sync Project with Gradle Files)
2. 排查ProGuard/R8混淆规则
如果你的项目启用了混淆,也可能是误在混淆文件里加了对这个方法的限制:
- 打开项目模块下的
proguard-rules.pro文件(一般在app目录里) - 搜索有没有针对
getExternalFilesDirs的规则,比如-dontwarn、-keep的反向限制,或者自定义的黑名单配置 - 找到相关行直接删除,然后重新构建项目(点顶部菜单栏
Build→Rebuild Project)
3. 检查自定义Lint插件(如果有)
要是你的项目用了自定义的Lint检查插件,也可能是插件规则把这个方法拉黑了:
- 打开项目的
build.gradle(项目根目录和模块目录都看看),检查有没有自定义Lint的依赖或配置 - 找到对应的规则文件,移除对
getExternalFilesDirs的限制,再同步项目
做完这些步骤后,getExternalFilesDirs应该就能正常使用了,要是还有问题可以再看看项目里有没有其他自定义的代码检查工具哦!
内容的提问来源于stack exchange,提问作者Said
相关产品推荐
相关产品推荐

