在 Flutter项目目录中,我使用以下命令创建了一个包:
flutter create --template=package emoji_support
完成创建程序包并完成抖动获取之后。
但是..
文件package's /test directory
中的文件不能在package's /lib directory
中找到文件:
import 'package:flutter_test/flutter_test.dart';
已解决✅
但是...
import 'package:emoji_support/emoji_support.dart';
未解决❌
文件结构
我在这里犯什么错误?
答案 0 :(得分:1)
我在项目flutter_example_file_picker
中使用flutter create --template=package emoji_support
创建了一个包
然后在项目的pubspec.yaml中(而不是插件中的那个)flutter_example_file_picker > pubspec.yaml
我添加到依赖项中的是程序包
dependencies:
flutter:
sdk: flutter
emoji_support:
path: ./emoji_support
问题解决了,我可以毫无问题地运行测试,也可以尝试使用相对路径而不将其添加到依赖项中并且也可以工作
更新
我认为我不理解如何在不将其添加到pubspec的情况下对其进行修复,当在项目内创建插件时,AndroidStudio(或VS)的flutter插件仍在主路径中起作用(请检查终端目录,它将是C:/.../ Workspace_Android \ hundreddaysofflutter>,因此它不会检测内部插件),也不会更新以检测新文件夹。即使它是红色并表示无法检测到URI。
您可以忽略它并尝试运行测试,看看它是否使用package_config.json检测到内部dart_tool,然后它将成功运行并且问题将消失。第二个选项是移动到插件所在的文件夹(在终端cd my_plugin_name_folder
中,或者仅打开文件并打开插件)。
运行flutter get pub
(它在第一次创建项目时自动执行,但有时在另一个项目中创建时却不执行)第一次运行包并在dart_tool中创建package_config.json (插件的dart_tool),在文件末尾,您可以看到软件包的名称和rootUri,现在您可以在测试中使用它,并且应该可以正确检测到它。有时会生成它,但是似乎它无法正确更新,即使它在那里,IDE也也不知道。
答案 1 :(得分:0)
这只是在vsCode中添加新的sub_directories时发生的问题。 只需存在并重新打开即可解决该问题。 告诉我是否可以解决。