【问题标题】:Add FlutterBlue plugin in offline mode在离线模式下添加 FlutterBlue 插件
【发布时间】:2019-11-07 14:36:59
【问题描述】:

我正在尝试在离线模式下将 Flutter blue 作为依赖项添加到我的应用中。

我无法运行 pub get 方法,因为它超时。我相信这是因为我在代理服务器后面操作。我已经将服务器的证书添加到了 android studio 中。我知道它可以识别证书,因为我可以创建和运行一个基本的 android 应用程序项目。但是,由于某种原因,flutter的通信仍然被阻塞。

由于我在台式计算机上工作,我不能简单地将我的计算机临时移动到开放网络来执行 pub get 方法。

有没有办法在离线模式下安装flutter blue包?或者有没有办法让 Flutter 在代理服务器后面正确连接到 Internet?

【问题讨论】:

    标签: android-studio flutter dart offline flutter-dependencies


    【解决方案1】:

    我能够做一个耗时的 hack,将 flutterBlue 包添加到我的代理服务器后面的 SDK 中。为此,我从 publink 下载了 flutterBlue 包 并将其解压缩到我在我的 sdk 的 flutter/packages/ 目录中创建的名为 flutter_blue 的新文件夹中。

    然后我打开了 flutterBlue 的 pubspec.yaml 并检查了它的依赖关系。由于 flutterBlue 也需要它自己的依赖项,所以我也必须下载这些依赖项并将其添加到我的 SDK 中。每次添加后,我在 pubspec.yaml 文件中注释掉了依赖值。这是因为它现在包含在 Flutter SDK 中。我用其他新添加重复了这个过程,直到不需要新包为止。

    以下是在我将依赖项添加到 SDK 之后,flutterBlue 包的 pubspec.yaml 文件更新的依赖项部分的示例。

    dependencies:
      flutter:
        sdk: flutter
      #convert: '^2.1.1'
      #protobuf: '^0.13.12'
      #rxdart: '^0.22.0'
    
    

    完成 SDK 设置后,我进入我的项目并打开 .packages 文件并将路径添加到我添加的库文件夹中。以下是我必须包含的软件包才能获得 FlutterBlue 支持:

    convert:file:///<Hard path location of flutter SDK folder>/flutter/packages/convert/lib
    rxdart:file:///<Hard path location of flutter SDK folder>/flutter/packages/rxdart/lib
    protobuf:file:///<Hard path location of flutter SDK folder>/flutter/packages/protobuf-0.13.12/lib
    fixnum:file:///<Hard path location of flutter SDK folder>/flutter/packages/fixnum/lib
    flutter_blue:file:///<Hard path location of flutter SDK folder>/flutter/packages/flutter_blue/lib/
    

    这样做的缺点是,每当您创建一个新的颤振项目(当然是在离线模式下)时,您都必须编辑 .packages 文件以包含您手动添加的包,因为它们不包括通过自动——生成过程。

    如果您想更新软件包,您需要获得最新版本并手动将内容替换为更新后的软件包,并验证您已将其所有依赖项注释掉并包含在 SDK 软件包中。

    【讨论】:

    • 我发现这种方法在通过 git 共享项目时也很烦人。每台计算机的 SDK 位置都不同,因此,任何不同的计算机都需要使用自己唯一的 .packages 文件。因此,设置对于队友来说是一件麻烦事,因为它不是简单的下载 repo 就可以开始了。如果有人向 SDK 添加了一个包,那么每个人都需要手动将它添加到他们的 .packages 文件中,你不能使用其他人所做的提交。
    猜你喜欢
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 2016-08-01
    • 1970-01-01
    • 2022-08-03
    • 2013-04-30
    • 1970-01-01
    相关资源
    最近更新 更多