120

如何在另一个颤振应用程序中使用本地颤振包?

我使用以下命令创建了一个包:

flutter create --template=package my_new_package

然后在我的应用程序源代码 => main.dart

import "package:my_new_package/my_new_package.dart" // can not find the package
4

4 回答 4

190

在你的 Flutter 应用程序中找到这个文件 => pubspec.yaml

使用本地依赖

    dependencies:
       flutter:
         sdk: flutter
       my_new_package:
         path: ./my_new_package

注意:./my_new_package以上表示包所在目录是应用的子目录my_new_packagepubspec.yaml

如果您将包作为与应用程序处于同一级别的目录,换句话说,在目录树的上一级,您可以使用../my_new_package(注意双点)或包目录的完整路径。

于 2018-07-09T04:55:50.953 回答
26

路径依赖:Flutter 应用可以通过文件系统路径依赖插件:依赖。路径可以是相对的或绝对的。例如,要依赖位于应用程序旁边目录中的插件 plugin1,请使用以下语法:

dependencies:
  plugin1:
    path: ../your_package/
于 2019-12-09T13:52:39.237 回答
12

对于整个过程:

  1. 下载您要使用的插件的代码,并将其放在与您的颤振项目目录“相同”的级别

     -- plugin-name  
     -- your flutter directory -- lib
                               -- android
                               -- ios etc etc
    
  2. 将插件路径添加到 pubspec.yaml。*如果您不确定要使用的正确插件名称,请查看name:插件的 pubspec.yaml 文件中的属性。插件目录也必须用相同的方式保存name:

    dependencies:
     plugin-name:
       path: ../plugin-name
    
  3. 运行Pub get,您可以像任何其他插件一样导入。唯一不同的是,当您在开发过程中单击任何插件类时,它将指向本地文件。

于 2020-07-15T21:02:17.193 回答
1

嘿,一旦我开始使用颤振,我就遇到了同样的问题。我已经pdf_view在我的应用程序中实现了插件示例,用于更改 Shimmer 效果而不是CircularProgressIndicator().

一些知识

您可以编辑过去的插件, flutter pub get但当您通过颤振创建应用程序包时,它们可能会被替换。

现在您使用示例插件的答案假设以GitHub 链接为例advance_pdf_viewer

  1. 下载 zip 文件并将其解压缩到pdf_viewer/

  2. 确保pdf_viewer/拥有所有文件,包括、lib和所有相关文件。AndroidiOS

  3. 将您的pdf_viewer文件夹复制到您的项目目录中,例如我的项目是invoice_viewer这样的,它的根目录包含所有文件夹,例如lib,Android等。将它与, ,iOS一起复制到此根目录中。libAndroidiOS

  4. 现在打开您pubsec.yaml并编写代码如下

dependencies:
  flutter:
    sdk: flutter

  #  advance_pdf_viewer: ^2.0.0
  advance_pdf_viewer:
    path: ./pdf_viewer
  1. 在评论中,我已将服务器版本替换为本地版本,并在插件viewer.dart文件中进行更改以实现所需的更改。

希望你和其他人从这个发现中得到一些信息!

于 2021-07-26T14:33:11.770 回答