在 Flutter 中编辑 3rd 方插件
Posted
技术标签:
【中文标题】在 Flutter 中编辑 3rd 方插件【英文标题】:Editing 3rd party Plugins in Flutter 【发布时间】:2020-08-12 13:46:54 【问题描述】:我想编辑一个插件以适应我的应用程序。 我只是通过 CTRL+单击 Flutter 中的插件导入代码并编辑所需的 .dart 文件来做到这一点。
现在我想知道,这是否可以在将来被覆盖。
路径(我编辑 dart 文件的地方)是:
flutter > .pub-cache > hosted > pub.dartlang.org > PLUGIN NAME > lib > templates > FILENAME.dart
这是编辑插件的正确方法吗?或者我应该在哪里编辑 .dart 文件?
感谢您的帮助!
【问题讨论】:
【参考方案1】:我建议您首先检查您正在编辑的软件包的许可证,看看您是否可以合法地更改它。尽管如此,让我们想象一下,你是并且你想继续。
如果您编辑这样的插件,您只是在编辑该插件的缓存版本。只要缓存没有更新,这种变化就会一直存在。
但是,如果您希望您的更改是持久的,您应该分叉 Github 存储库并在那里编辑文件。在 Github 中编辑完文件后,您可以将它们导入到您的项目中,因为它们不会被意外更改。
要从 Github 导入新的分叉存储库,请转到 pubspec.yaml
文件,然后像这样导入它:
my_forked_package:
git:
url: git://github.com/'YOUR_USERNAME'/my_forked_package.git
同样,您可以将 Github 存储库下载为 Zip,解压到您想要的任何位置(不是在项目文件夹中),然后像这样导入包:
my_forked_package:
path: 'path_to_package_folder'
我希望这可以帮助您进一步开发您的应用程序!
【讨论】:
感谢您的帮助!但是我在实施方面遇到了一些问题。我下载了压缩包。我应该在我的 App 项目的主根目录中创建一个新文件夹并将 .zip 复制到其中吗?我应该解压缩 zip 文件吗?会是这个样子吗? :my_forked_package:路径:'文件夹名/解压缩文件夹名/'?我想使用插件的 .dart 文件中的导入“”应该是什么样子?感谢您的帮助! 解压缩到任何你想要的地方(不在项目文件夹中),路径是:C/users/downloaded_package/ 例如。我希望这可以澄清它。 谢谢,我可以同时弄清楚。但它就像我上面写的那样工作。所以我在我的 App-Project-Folder 中创建了一个新文件夹(例如 lib 文件夹所在的位置),然后我将插件解压缩到这个文件夹中。它的工作方式类似于 path:'Foldername/unzipFoldername/' 谢谢弗朗西斯科。你会如何为flutter/plugins
repo 中的 Flutter 插件执行此操作?
哦,解决了:只需使用插件所在的文件夹,在那个 repo 里面。 (虽然我还没有构建应用程序)以上是关于在 Flutter 中编辑 3rd 方插件的主要内容,如果未能解决你的问题,请参考以下文章
带有插件、dll 和 3rd 方工具的大型 c++ 项目的结构
如何在 Flutter 中对依赖于 3rd-Party-Package 的代码进行单元测试?