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

使用eghlflutter包构建AAR时提示不支持直接本地.aar依赖问题求助

根因说明

  1. pub.dev上当前发布的eghlflutter 1.1.1版本未同步GitHub端的代码更新,内置的eghl-sdk仍然是旧的v2.5.2版本,因此直接通过pubspec拉取官方版本默认拿到的就是旧版sdk。
  2. 构建报错的本质是该插件的Android配置采用了本地aar依赖的方式,这种打包逻辑不会把本地依赖的aar文件包含到最终生成的插件AAR中,高版本Android Gradle插件会直接拦截这种错误场景并抛出异常。

解决方案

方案一:直接依赖GitHub源码版本(推荐,团队开发通用)

修改项目的pubspec.yaml文件,将eghlflutter的依赖方式从版本号依赖改为git依赖,直接拉取GitHub上已经更新了v2.5.7 sdk的最新代码,和你直接下载GitHub项目运行的版本完全一致,配置示例如下:

dependencies:
  flutter:
    sdk: flutter
  # 替换原有eghlflutter的版本号依赖为以下配置,url填写该插件的官方GitHub仓库地址即可
  eghlflutter:
    git:
      url: 插件官方GitHub仓库地址
      ref: 主分支名或者对应的提交哈希

修改完成后执行flutter pub get重新拉取依赖即可正常构建。

方案二:手动修复本地缓存的插件包

如果不想修改依赖方式,可以手动修改本地缓存的插件包内容:

  • 执行flutter pub cache clean清空pub全局缓存
  • 回到项目目录执行flutter pub get重新拉取所有依赖
  • 进入报错提示的本地缓存插件目录:/Users/mac/Documents/flutter/.pub-cache/hosted/pub.dartlang.org/eghlflutter-1.1.1/
  • 用从GitHub项目中提取的最新v2.5.7版本eghl-sdk.aar,替换目录下android/eghl-sdk/路径中的旧版aar文件
  • 打开该插件目录下的android/build.gradle文件,修改aar依赖配置,解决本地aar不被打包的问题:
android {
    // 保留原有所有配置,新增以下repositories配置
    repositories {
        flatDir {
            dirs 'eghl-sdk' // 对应aar文件存放的目录路径
        }
    }
}

dependencies {
    // 替换原有直接依赖本地aar的写法为以下格式,其余原有依赖保留
    implementation(name: 'eghl-sdk-v2.5.7', ext: 'aar')
}
  • 回到项目目录执行flutter clean,再重新构建项目即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:15:04