首页 > 解决方案 > 如何为 Flutter 应用创建纯 Dart 包?

问题描述

我正在尝试创建一个纯 Dart 包以在我的 Flutter 应用程序中使用。问题是在构建我的应用程序时,会在库文件夹下生成一些 Android 和 iOS 特定文件。我想知道这是错误还是已知功能?

我使用以下命令创建了项目:

flutter create -t package mypackage

例如生成的文件 GeneratedPluginRegistrant.java 如下所示:

package io.flutter.plugins;

import io.flutter.plugin.common.PluginRegistry;

/**
 * Generated file. Do not edit.
 */
public final class GeneratedPluginRegistrant {
  public static void registerWith(PluginRegistry registry) {
    if (alreadyRegisteredWith(registry)) {
      return;
    }
  }

  private static boolean alreadyRegisteredWith(PluginRegistry registry) {
    final String key = GeneratedPluginRegistrant.class.getCanonicalName();
    if (registry.hasPlugin(key)) {
      return true;
    }
    registry.registrarFor(key);
    return false;
  }
}

我可以避免生成那些 GeneratedPluginRegistrant.* 文件吗?如果没有,我是否必须将它们提交到源代码控制?

标签: flutter

解决方案


对于纯 dart 包,您只需要一件事: a pubspec.yaml,具有名称和环境约束:

name: my_package
environment:
  sdk: ">=2.0.0 <3.0.0"

不过,这足以my_package作为依赖项添加到您的颤振项目中:

dependencies:
  my_package:
    path: ../path/to/my_package/folder

推荐阅读