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

Flutter集成instagram_basic_display_api后Android调试构建报错解决

Flutter集成instagram_basic_display_api后Android构建失败修复方案

故障根因

该问题是instagram_basic_display_api 1.0.1版本自身的构建脚本缺陷导致:包内的android/build.gradle硬编码了读取宿主项目Android目录下secret.properties文件的逻辑,属于包作者本地调试时遗留的未清理代码,既没有在包文档中说明需要手动创建该文件,也没有做文件不存在的兼容判断,直接在Gradle配置评估阶段抛出文件找不到的异常,连带触发Flutter SDK中flutter.gradle的级联报错。日文Locale下的乱码是系统原生文件不存在报错的编码(Shift-JIS)和Gradle日志默认编码(UTF-8)不匹配导致,和系统语言无直接关联。
因为问题出在第三方依赖包的自带脚本,不属于Flutter环境、Android工具链配置错误,所以flutter doctor -v检测会显示全部正常。

修复步骤

方案1:补全缺失配置文件(推荐,无需修改依赖包源码)

  • 打开自身Flutter项目的android目录(和项目级build.gradle、settings.gradle同级的根目录),手动新建名为secret.properties的文件,文件初始内容可以为空,直接保存即可。
  • 如果之前已经从pubspec.yaml中移除了instagram_basic_display_api依赖,先把依赖重新加回配置文件。
  • 在项目根目录依次执行以下命令清理缓存后重新构建:
flutter clean
flutter pub get
flutter run

说明:该包读取secret.properties原本是为了加载作者本地的签名配置,宿主项目创建空文件后,Properties加载逻辑不会抛出文件找不到异常,后续签名配置读取逻辑会自动走默认值,不影响包的正常功能使用。

方案2:修改依赖包构建脚本(兼容不需要创建额外文件的场景)

如果不想在项目中额外创建空配置文件,可以直接修改Pub缓存中对应包的构建脚本:

  • 找到Pub缓存下的包路径:
    • Windows系统默认路径:C:\Users\本地用户名\AppData\Local\Pub\Cache\hosted\pub.dev\instagram_basic_display_api-1.0.1\android\
    • Mac/Linux系统默认路径:~/.pub-cache/hosted/pub.dev/instagram_basic_display_api-1.0.1/android/
  • 打开该目录下的build.gradle文件,定位到第29行附近读取secret.properties的代码块,将原有硬编码加载的逻辑:
def secrets = new Properties()
secrets.load(new FileInputStream(rootProject.file("secret.properties")))

替换为带文件存在判断的兼容逻辑:

def secrets = new Properties()
def secretPropsFile = rootProject.file("secret.properties")
if (secretPropsFile.exists()) {
    secrets.load(new FileInputStream(secretPropsFile))
}
  • 保存修改后,回到项目根目录执行flutter clean后重新构建即可。

注意:该方法修改的是Pub缓存中的全局包文件,后续执行flutter pub cache repair、切换Flutter版本、重新安装依赖时修改会被重置,需要重新操作。

之前操作无效的原因

之前执行flutter pub remove后问题仍存在,一般是操作后没有执行完整的flutter clean清理构建缓存,或者IDE、Gradle守护进程持有旧的构建配置导致,只要完整清理构建缓存后,移除依赖确实可以恢复正常构建,和故障根因的判断一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:57:27