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

Flutter安卓模拟器运行报错:pub-cache中android目录不存在

问题描述

在M2 Mac Mini上使用Android Studio Hedgehog运行Flutter应用时,Android模拟器报错,但iOS模拟器运行正常。报错信息如下:

Basedir /Users/cohen/.pub-cache/hosted/pub.dev/firebase_analytics_web-0.5.1+9/android does not exist

该问题并非仅出现在firebase_analytics_web,所有依赖都存在此问题。全新Flutter项目可正常构建运行,修改报错项目的Android配置后问题仍未解决。

已尝试的解决方法

  • 清除缓存并重启IDE
  • 执行flutter pub cache repair命令
  • 重新下载并安装Flutter SDK
  • 确保Flutter、Dart为最新稳定版本
  • 升级Android Studio至最新版(Hedgehog)

Flutter Doctor检测结果

[✓] Flutter (Channel stable, 3.16.3, on macOS 14.1.2 23B92 darwin-arm64, locale en-US)
    • Flutter version 3.16.3 on channel stable at /Users/cohen/Documents/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0366e0a3f (3 days ago), 2023-12-05 19:46:39 -0800
    • Engine revision 54a7145303
    • Dart version 3.2.3
    • DevTools version 2.28.4

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/cohen/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.85.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (4 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 14 (API 34) (emulator)
    • iPhone 15 Pro Max (mobile)  • CB3879FF-6A71-4A26-A31B-42FE8B1E5921 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 14.1.2 23B92 darwin-arm64
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 120.0.6099.71

[✓] Network resources
    • All expected network resources are available.

• No issues found!

可行解决方案

  1. 修正pubspec.yaml依赖声明
    web专用依赖(如firebase_analytics_web)本身没有Android目录,若误将其放在dependencies下,会被Android构建流程扫描到导致报错。调整方式:

    dependencies:
      firebase_analytics: ^x.x.x # 引入多平台核心包
    dev_dependencies:
      firebase_analytics_web: ^x.x.x # web专用依赖移至dev_dependencies
    

    或通过条件导入控制依赖加载,确保Android构建时不处理web依赖。

  2. 彻底清理缓存并重新获取依赖
    执行以下命令删除缓存后重新下载所有依赖:

    rm -rf ~/.pub-cache/hosted/pub.dev/
    flutter clean
    flutter pub get
    
  3. 配置Android构建过滤规则
    打开项目android/build.gradle,添加打包过滤规则排除web相关目录:

    android {
        packagingOptions {
            exclude '**/web/**'
        }
    }
    
  4. 切换Flutter渠道测试
    部分稳定版兼容性问题在beta渠道已修复,执行以下命令切换渠道:

    flutter channel beta
    flutter upgrade
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:55:38