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

Posted

技术标签:

【中文标题】如何将示例项目添加到 Flutter 包中?【英文标题】:How do I add an Example Project to a Flutter Package? 【发布时间】:2019-10-23 16:10:07 【问题描述】:

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

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

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

这是我第一次尝试创建一个包,我希望第一次就做好。

【问题讨论】:

【参考方案1】:

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

这是一个我创建的包的示例(不是双关语):

现在在pubspec.yaml 中,您应该像这样将您的包作为开发依赖项包含在内:

dev_dependencies:
  your_package:
    path: ../

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

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

【讨论】:

澄清一下,转到您的项目根文件夹并运行flutter create example。就是这样。 @JoelBroström 顺便说一句,您可以将 README 保留在示例项目中,用于 pub.dev 上的“示例”选项卡,否则它只会显示代码。 @JoelBroström 请将此添加为答案,而不是回复 照你说的做了。感谢您提请我注意。【参考方案2】:

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

/e/projects/myproject # flutter create example

有这个输出:

Creating project example... androidx: true
  example\.gitignore (created)
  example\.idea\libraries\Dart_SDK.xml (created)
  example\.idea\libraries\Flutter_for_Android.xml (created)
  example\.idea\libraries\KotlinJavaRuntime.xml (created)
  example\.idea\modules.xml (created)
  example\.idea\runConfigurations\main_dart.xml (created)
  example\.idea\workspace.xml (created)
  example\.metadata (created)
  example\android\app\build.gradle (created)
  example\android\app\src\main\kotlin\com\example\example\MainActivity.kt (created)
  example\android\build.gradle (created)
  example\android\example_android.iml (created)
  example\android\.gitignore (created)
  example\android\app\src\debug\AndroidManifest.xml (created)
  example\android\app\src\main\AndroidManifest.xml (created)
  example\android\app\src\main\res\drawable\launch_background.xml (created)
  example\android\app\src\main\res\mipmap-hdpi\ic_launcher.png (created)
  example\android\app\src\main\res\mipmap-mdpi\ic_launcher.png (created)
  example\android\app\src\main\res\mipmap-xhdpi\ic_launcher.png (created)
  example\android\app\src\main\res\mipmap-xxhdpi\ic_launcher.png (created)
  example\android\app\src\main\res\mipmap-xxxhdpi\ic_launcher.png (created)
  example\android\app\src\main\res\values\styles.xml (created)
  example\android\app\src\profile\AndroidManifest.xml (created)
  example\android\gradle\wrapper\gradle-wrapper.properties (created)
  example\android\gradle.properties (created)
  example\android\settings.gradle (created)
  example\ios\Runner\AppDelegate.swift (created)
  example\ios\Runner\Runner-Bridging-Header.h (created)
  example\ios\Runner.xcodeproj\project.pbxproj (created)
  example\ios\Runner.xcodeproj\xcshareddata\xcschemes\Runner.xcscheme (created)
  example\ios\.gitignore (created)
  example\ios\Flutter\AppFrameworkInfo.plist (created)
  example\ios\Flutter\Debug.xcconfig (created)
  example\ios\Flutter\Release.xcconfig (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Contents.json (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-1024x1024@1x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@1x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@2x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@3x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-29x29@1x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-29x29@2x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-29x29@3x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-40x40@1x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-40x40@2x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-40x40@3x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-60x60@2x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-60x60@3x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-76x76@1x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-76x76@2x.png (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-83.5x83.5@2x.png (created)
  example\ios\Runner\Assets.xcassets\LaunchImage.imageset\Contents.json (created)
  example\ios\Runner\Assets.xcassets\LaunchImage.imageset\LaunchImage.png (created)
  example\ios\Runner\Assets.xcassets\LaunchImage.imageset\LaunchImage@2x.png (created)
  example\ios\Runner\Assets.xcassets\LaunchImage.imageset\LaunchImage@3x.png (created)
  example\ios\Runner\Assets.xcassets\LaunchImage.imageset\README.md (created)
  example\ios\Runner\Base.lproj\LaunchScreen.storyboard (created)
  example\ios\Runner\Base.lproj\Main.storyboard (created)
  example\ios\Runner\Info.plist (created)
  example\ios\Runner.xcodeproj\project.xcworkspace\contents.xcworkspacedata (created)
  example\ios\Runner.xcworkspace\contents.xcworkspacedata (created)
  example\lib\main.dart (created)
  example\example.iml (created)
  example\pubspec.yaml (created)
  example\README.md (created)
  example\test\widget_test.dart (created)
Running "flutter pub get" in example...                             3.0s
Wrote 68 files.

All done!
[√] Flutter: is fully installed. (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 6.1.7601], locale en-US)
[√] Android toolchain - develop for Android devices: is fully installed. (Android SDK version 29.0.2)
[√] Android Studio: is fully installed. (version 3.5)
[√] Connected device: is fully installed. (2 available)

In order to run your application, type:

  $ cd example
  $ flutter run

Your application code is in example\lib\main.dart.

如果使用 Android Studio 3.5.2,请运行默认示例进行保证:

    通过从工具栏上的 Flutter 下拉菜单中选择 Edit Configurations... 为示例 main.dart 添加新配置。

    选择Run/Debug Configurations对话框左侧的Flutter目录并按下+按钮。

    选择颤振

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

    单击工具栏上的三角形运行按钮。

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

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

dependencies:
  my_project:
    path: ../

【讨论】:

【参考方案3】:

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

    新建一个 Flutter 项目 选择颤振包 在 Android Studio 中打开新项目后,选择“终端”选项卡,然后运行:

颤振创建示例

    选择“编辑配置”-> 添加配置-> 选择位于 example/lib 文件夹中的 main.dart 文件

    打开您的示例 pubspec.yaml 并通过添加链接到库:

    您的包裹名称: 小路: ..\

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

【讨论】:

这可能是我在***上看到的最好的答案。谢谢? 这比我自己的答案要好得多。将正确答案移至此,希望正在寻找快速答案的人在下面找到旧答案。 很高兴听到它有帮助 只是为了补充这一点,从 cmd 行:创建包:flutter create package [packagname]。创建示例: cd 进入包 thenflutter create example【参考方案4】:

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

【讨论】:

以上是关于如何将示例项目添加到 Flutter 包中?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复未在 Flutter 项目中安装的 Cloud Firestore 包?

我如何将数据库添加到 netbean 项目的包中

如何在flutter中将另一个包中的类或函数调用到另一个包?

如何将protobuf添加到flutter/kotlin android项目中

如何将新标头添加到 Flutter 插件 iOS 项目?

如何将打字稿定义文件添加到 npm 包中?