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

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

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

flutter create --template=package my_new_package

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

import "package:my_new_package/my_new_package.dart" // can not find the package
70896 次浏览

在 flutter application = > pubspec.yaml 中找到这个文件

使用本地依赖项

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

注意: 上面的 ./my_new_package意味着包含该包的 pubspec.yamlmy_new_package目录是应用程序的一个子目录。

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

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

dependencies:
plugin1:
path: ../your_package/

对于整个过程:

  1. 下载您想要使用的插件的代码,并将其放置在与 flutter 项目目录相同的级别

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

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

嘿,我开始用颤振的时候也遇到过同样的问题。 我已经实现了例子的 pdf_view插件在我的应用程序作出改变的微光效果而不是 CircularProgressIndicator()

一些知识

你可以编辑通过 flutter pub get获得的插件,但是当你通过 flutter 创建应用程序包时,它们可能会被替换。

现在你的答案与示例插件假设采取一个例子的 advance_pdf_viewer GitHub Link

  1. 下载 zip 文件并在 pdf_viewer/中解压缩它

  2. 确保 pdf_viewer/有所有的文件,包括 libAndroidiOS和所有相关的文件。

  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文件进行了更改,以实现所需的更改。

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