#flutter
#flutter
Вопрос:
Я пытаюсь создать чистый пакет Dart для использования в моем приложении Flutter. Проблема в том, что при создании моего приложения в папке library создаются некоторые файлы, специфичные для 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.*? Если нет, должен ли я передавать их в систему управления версиями?
Ответ №1:
Для чистых пакетов dart вам нужно только одно: a pubspec.yaml
с именем и ограничениями среды:
name: my_package
environment:
sdk: ">=2.0.0 <3.0.0"
Этого достаточно, чтобы добавить my_package
в качестве зависимости к вашему проекту flutter:
dependencies:
my_package:
path: ../path/to/my_package/folder
Ответ №2:
Вы можете сделать это с помощью командной строки:
-
путь к
pub
должен быть задан в вашей переменной среды, например:C:UsersUserNameAppDataRoamingPubCachebin;
-
pub global activate stagehand
-
mkdir dart_project
-
cd dart_project
-
stagehand package-simple
Его генерация с помощью командной строки сгенерирует для вас немного кода, который даст вам представление о том, как следует управлять пакетом.
Вы можете использовать этот проект как зависимость в файле pubspec.yaml вашего проекта Flutter или Angular-Dart как:
dependencies:
dart_project:
path: ../path/to/dart_project