我试图在离线模式下将闪烁的蓝色作为依赖项添加到我的应用程序中。
由于超时,我无法运行pub get方法。我相信这是由于我在代理服务器后面进行操作。我已经将服务器的证书添加到android studio中。我知道它可以识别证书,因为我可以创建并运行一个基本的android应用项目。但是,由于某种原因,Flutter的通信仍被阻止。
当我在台式计算机上工作时,不能简单地将计算机临时移至开放网络中以执行pub get方法。
有没有一种方法可以在脱机模式下安装蓝扑软件包?还是有办法使代理服务器后面的互联网正常连接?
答案 0 :(得分:0)
我能够进行耗时的黑客操作,将flutterBlue软件包添加到代理服务器后面的SDK中。为此,我从publink下载了flutterBlue软件包 并将其解压缩到我在sdk的flutter / packages /目录中创建的名为flutter_blue的新文件夹中。
然后我为flutterBlue打开pubspec.yaml并检查其依赖性。由于flutterBlue还需要其自己的依赖项,因此我也必须下载并将其添加到我的SDK中。每次添加之后,我都将pubspec.yaml文件中的依赖项值注释掉。这是因为它现在已包含在flutter SDK中。我重复了此过程,并添加了其他新软件包,直到不需要新软件包为止。
下面是在我将flutterBlue包的依赖项添加到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/
这样做的缺点是,每当您创建一个新的flutter项目时(当然是在离线模式下),您都必须编辑.packages文件以包括您手动添加的软件包,因为它们不会通过auto自动包含生成过程。
如果要更新软件包,则需要获取最新版本,并用更新的软件包手动替换内容,并确认已注释掉所有依赖项并将其包含在SDK软件包中。