如何将示例项目添加到 Flutter 包中?

Joe*_*röm 18 dart dart-pub flutter flutter-dependencies

有没有办法为包中的示例地图结构自动生成模板代码?

大多数包在包根目录中有一个 /example 文件夹,用于展示包的功能。我不确定创建示例的“最佳”方式是什么,或者它是否重要。

我是否单独创建所有文件?我是否创建一个新项目,然后将其复制到包根目录?我可以直接在项目中自动生成示例项目吗?

这是我第一次尝试创建一个包,我想第一次就把它做好。

Noo*_*les 16

在项目的根目录中创建一个名为 example 的新项目,然后删除不必要的文件,例如CHANGELOG,LICENSEREADME它们将在您的包文件夹中。

这是我创建的包的示例(没有双关语):

在此处输入图片说明 在此处输入图片说明

现在,pubspec.yaml您应该将您的包作为开发依赖项包含在内,如下所示:

dev_dependencies:
  your_package:
    path: ../
Run Code Online (Sandbox Code Playgroud)

我相信您也可以使用常规依赖项,但这对我有用。

现在/lib你可以在里面添加一个main.dart文件,导入你的包,然后创建一个示例项目。

  • 为了澄清起见,请转到您的项目根文件夹并运行 `flutter create example`。就是这样。 (3认同)

Chr*_*gue 14

在 Android Studio 中使用示例创建 Flutter 包

  1. 创建一个新的 Flutter 项目 在此处输入图片说明
  2. 选择 Flutter 包 在此处输入图片说明
  3. 在 Android Studio 中打开新项目后,选择“终端”选项卡,然后运行:

颤振创建示例

在此处输入图片说明

  1. 选择“编辑配置”->添加配置->选择位于example/lib文件夹中的main.dart文件 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

  2. 打开您的示例 pubspec.yaml 并通过添加以下内容链接到库:

    your_package_name: 路径: ..\ 在此处输入图片说明

注意:当您打开 Example 文件夹时,它看起来就像嵌套在您的项目中的整个 Flutter 应用程序;那是因为它是。只需打开 io 和 android 文件夹即可查看它们是否共享该模式: 在此处输入图片说明

  • 这可能是我在 stackoverflow 上看到的最好的答案。谢谢 (2认同)

Pet*_*vin 9

使用项目根目录下内置的flutter命令行工具来完成所有工作:

\n
/e/projects/myproject # flutter create example\n
Run Code Online (Sandbox Code Playgroud)\n

它有这个输出:

\n
Creating project example... androidx: true\n  example\\.gitignore (created)\n  example\\.idea\\libraries\\Dart_SDK.xml (created)\n  example\\.idea\\libraries\\Flutter_for_Android.xml (created)\n  example\\.idea\\libraries\\KotlinJavaRuntime.xml (created)\n  example\\.idea\\modules.xml (created)\n  example\\.idea\\runConfigurations\\main_dart.xml (created)\n  example\\.idea\\workspace.xml (created)\n  example\\.metadata (created)\n  example\\android\\app\\build.gradle (created)\n  example\\android\\app\\src\\main\\kotlin\\com\\example\\example\\MainActivity.kt (created)\n  example\\android\\build.gradle (created)\n  example\\android\\example_android.iml (created)\n  example\\android\\.gitignore (created)\n  example\\android\\app\\src\\debug\\AndroidManifest.xml (created)\n  example\\android\\app\\src\\main\\AndroidManifest.xml (created)\n  example\\android\\app\\src\\main\\res\\drawable\\launch_background.xml (created)\n  example\\android\\app\\src\\main\\res\\mipmap-hdpi\\ic_launcher.png (created)\n  example\\android\\app\\src\\main\\res\\mipmap-mdpi\\ic_launcher.png (created)\n  example\\android\\app\\src\\main\\res\\mipmap-xhdpi\\ic_launcher.png (created)\n  example\\android\\app\\src\\main\\res\\mipmap-xxhdpi\\ic_launcher.png (created)\n  example\\android\\app\\src\\main\\res\\mipmap-xxxhdpi\\ic_launcher.png (created)\n  example\\android\\app\\src\\main\\res\\values\\styles.xml (created)\n  example\\android\\app\\src\\profile\\AndroidManifest.xml (created)\n  example\\android\\gradle\\wrapper\\gradle-wrapper.properties (created)\n  example\\android\\gradle.properties (created)\n  example\\android\\settings.gradle (created)\n  example\\ios\\Runner\\AppDelegate.swift (created)\n  example\\ios\\Runner\\Runner-Bridging-Header.h (created)\n  example\\ios\\Runner.xcodeproj\\project.pbxproj (created)\n  example\\ios\\Runner.xcodeproj\\xcshareddata\\xcschemes\\Runner.xcscheme (created)\n  example\\ios\\.gitignore (created)\n  example\\ios\\Flutter\\AppFrameworkInfo.plist (created)\n  example\\ios\\Flutter\\Debug.xcconfig (created)\n  example\\ios\\Flutter\\Release.xcconfig (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Contents.json (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-1024x1024@1x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-20x20@1x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-20x20@2x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-20x20@3x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-29x29@1x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-29x29@2x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-29x29@3x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-40x40@1x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-40x40@2x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-40x40@3x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-60x60@2x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-60x60@3x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-76x76@1x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-76x76@2x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\AppIcon.appiconset\\Icon-App-83.5x83.5@2x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\LaunchImage.imageset\\Contents.json (created)\n  example\\ios\\Runner\\Assets.xcassets\\LaunchImage.imageset\\LaunchImage.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\LaunchImage.imageset\\LaunchImage@2x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\LaunchImage.imageset\\LaunchImage@3x.png (created)\n  example\\ios\\Runner\\Assets.xcassets\\LaunchImage.imageset\\README.md (created)\n  example\\ios\\Runner\\Base.lproj\\LaunchScreen.storyboard (created)\n  example\\ios\\Runner\\Base.lproj\\Main.storyboard (created)\n  example\\ios\\Runner\\Info.plist (created)\n  example\\ios\\Runner.xcodeproj\\project.xcworkspace\\contents.xcworkspacedata (created)\n  example\\ios\\Runner.xcworkspace\\contents.xcworkspacedata (created)\n  example\\lib\\main.dart (created)\n  example\\example.iml (created)\n  example\\pubspec.yaml (created)\n  example\\README.md (created)\n  example\\test\\widget_test.dart (created)\nRunning "flutter pub get" in example...                             3.0s\nWrote 68 files.\n\nAll done!\n[\xe2\x88\x9a] Flutter: is fully installed. (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 6.1.7601], locale en-US)\n[\xe2\x88\x9a] Android toolchain - develop for Android devices: is fully installed. (Android SDK version 29.0.2)\n[\xe2\x88\x9a] Android Studio: is fully installed. (version 3.5)\n[\xe2\x88\x9a] Connected device: is fully installed. (2 available)\n\nIn order to run your application, type:\n\n  $ cd example\n  $ flutter run\n\nYour application code is in example\\lib\\main.dart.\n\n
Run Code Online (Sandbox Code Playgroud)\n

如果使用 Android Studio 3.5.2,请运行默认示例以确保安全:

\n
    \n
  1. 通过从工具栏上的 Flutter 下拉列表中选择编辑配置...,为示例 main.dart 添加新配置。

    \n
  2. \n
  3. 选择“运行/调试配置”对话框左侧的 Flutter 目录,然后按+按钮。

    \n
  4. \n
  5. 选择颤动

    \n
  6. \n
  7. 通过单击Dart 入口点:对话框中的文件夹,在新的 example/lib 目录中浏览 main.dart 。

    \n
  8. \n
  9. 单击工具栏上的三角形运行按钮。

    \n
  10. \n
\n

我刚刚为我自己的项目执行了这些步骤,效果非常好。

\n

然后,要针对您的项目进行自定义,请编辑示例的pubspec.yaml文件并向您的项目添加依赖项:

\n
dependencies:\n  my_project:\n    path: ../\n
Run Code Online (Sandbox Code Playgroud)\n


Joe*_*röm 8

转到您的项目根文件夹并运行flutter create example.
就是这样。