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

Flutter执行flutter packages get时获取android_alarm_manager:^0.1.0遇套接字错误

解决Flutter代理环境下android_alarm_manager: ^0.1.0获取失败的问题

Hey,我来帮你捋清楚这个问题:你在Win7代理环境下,大部分依赖都能正常拉取,唯独android_alarm_manager: ^0.1.0报socket错误,这大概率是这个超旧版本的适配问题——毕竟0.1.0是好几年前的版本了,不管是源地址还是请求协议,可能都和现在的代理环境不兼容。给你几个针对性的解决办法,按顺序试就行:

1. 优先升级依赖版本(最省心的方案)

旧版本的android_alarm_manager不仅拉取麻烦,后续和新Flutter版本也容易出现兼容性问题。直接把pubspec.yaml里的版本换成最新稳定版,比如:

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.0
  font_awesome_flutter: 6.0.0
  android_alarm_manager: ^2.0.0 # 可以根据pub.dev的最新稳定版调整

之后执行flutter pub get(现在官方更推荐用这个命令代替flutter packages get),应该就能正常拉取了。

2. 检查代理的HTTPS配置是否正确

socket错误往往和HTTPS请求的代理处理有关,你可以手动在命令行里设置Flutter的代理参数,确保HTTPS代理配置正确:
打开命令提示符,输入:

set HTTP_PROXY=http://你的代理地址:端口号
set HTTPS_PROXY=http://你的代理地址:端口号

如果代理需要账号密码,格式改成:

set HTTP_PROXY=http://用户名:密码@代理地址:端口号
set HTTPS_PROXY=http://用户名:密码@代理地址:端口号

设置完成后再执行flutter pub get试试。

3. 手动指定包的Git源(仅当必须用旧版本时)

如果一定要保留0.1.0版本,可以直接从Flutter插件的官方仓库拉取这个旧版本:
在pubspec.yaml末尾添加依赖覆盖:

dependency_overrides:
  android_alarm_manager:
    git:
      url: https://github.com/flutter/plugins.git
      path: packages/android_alarm_manager/android_alarm_manager
      ref: 0.1.0 # 指定对应版本的标签或者提交哈希

不过还是建议尽量升级,旧版本的bug和兼容性问题会更多。

4. 开启Windows 7的TLS 1.2支持

Windows 7默认的TLS版本较低,而旧包的源可能要求更高的TLS协议,导致请求失败。你可以通过注册表开启TLS 1.2:

  • 按Win+R输入regedit打开注册表编辑器
  • 定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
  • 右键新建DWORD(32位)值,命名为DefaultSecureProtocols,设置数值数据为0x00000A00(这代表启用TLS 1.2)
  • 重启电脑后再尝试拉取依赖。

5. 清除Flutter缓存重置状态

有时候缓存文件损坏也会导致奇怪的拉取错误,执行以下命令清理缓存:

flutter clean
flutter pub cache repair
flutter pub get

先从升级版本开始试,这是最能一劳永逸解决问题的办法,毕竟旧版本的维护早就停止了,后续开发中遇到的问题只会更多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:08:10