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

问题描述 投票:0回答:6

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

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

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

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

flutter dart flutter-dependencies dart-pub
6个回答
47
投票

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

  1. 创建一个新的Flutter项目
  2. 选择 Flutter 包
  3. 在Android Studio中打开新项目后,选择“Terminal”选项卡,然后运行:

flutter 创建示例

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

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

    你的包名称: 小路: ..\

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


19
投票

在项目的根目录中创建一个名为 example 的新项目,然后删除不必要的文件,例如

CHANGELOG
LICENSE
README
,因为它们将位于您的包文件夹中。

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

现在在

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

dev_dependencies:
  your_package:
    path: ../

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

现在在

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


17
投票

转到项目根文件夹并运行

flutter create example

就是这样。


9
投票

使用项目根目录下内置的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\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (created)
  example\ios\Runner\Assets.xcassets\AppIcon.appiconset\[email protected] (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\[email protected] (created)
  example\ios\Runner\Assets.xcassets\LaunchImage.imageset\[email protected] (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,请运行默认示例以确保安全:

  1. 从工具栏上的 Flutter 下拉列表中选择 Edit Configurations... 为示例 main.dart 添加新配置。

  2. 选择Run/Debug Configurations对话框左侧的Flutter目录,然后按+按钮。

  3. 选择颤动

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

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

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

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

dependencies:
  my_project:
    path: ../

0
投票

就我而言,我忘记添加示例文件。我是这样添加的。 您可以查看我的 pub.dev location_provider 包。

1)在包内创建一个目录/包。包/目录的名称必须是“example”。欲了解更多信息请查看此。

2)打开命令终端并使用移动到example

包中
cd example

3)使用命令在其中创建Flutter项目

Flutter create

4)您将在其中看到lib/main.dart文件。在此文件中添加您的示例。

5)添加后,将最新代码推送到github。

6) 在 pubspec.yaml 文件和 CHELLAGELOG.md 文件中增加包的版本。之后,运行这些命令将包发布到pub.dev

Flutter publish --dry-run
Flutter publish

之后您将在pub.dev

中看到示例选项卡

0
投票
fvm flutter create --template=package package name
© www.soinside.com 2019 - 2024. All rights reserved.