创建
- 命令创建
Flutter create -t plugin --platforms <platforms> -i swift -a java plugin_name
-
命令分解
-
flutter create,如下所示
No option specified for the output directory. Create a new Flutter project. If run on a project that already exists, this will repair the project, recreating any files that are missing. Global options: -h, --help Print this usage information. -v, --verbose Noisy logging, including all shell commands executed. If used with "--help", shows hidden options. If used with "flutter doctor", shows additional diagnostic information. (Use "-vv" to force verbose logging in those cases.) -d, --device-id Target device id or name (prefixes allowed). --version Reports the version of this tool. --suppress-analytics Suppress analytics reporting when this command runs. Usage: flutter create <output directory> -h, --help Print this usage information. --[no-]pub Whether to run "flutter pub get" after the project has been created. (defaults to on) --[no-]offline When "flutter pub get" is run by the create command, this indicates whether to run it in offline mode or not. In offline mode, it will need to have all dependencies already available in the pub cache to succeed. --[no-]overwrite When performing operations, overwrite existing files. --description The description to use for your new Flutter project. This string ends up in the pubspec.yaml file. (defaults to "A new Flutter project.") --org The organization responsible for your new Flutter project, in reverse domain name notation. This string is used in Java package names and as prefix in the iOS bundle identifier. (defaults to "com.example") --project-name The project name for this new Flutter project. This must be a valid dart package name. -i, --ios-language The language to use for iOS-specific code, either Objective-C (legacy) or Swift (recommended). [objc, swift (default)] -a, --android-language The language to use for Android-specific code, either Java (legacy) or Kotlin (recommended). [java, kotlin (default)] --platforms The platforms supported by this project. Platform folders (e.g. android/) will be generated in the target project. This argument only works when "--template" is set to app or plugin. When adding platforms to a plugin project, the pubspec.yaml will be updated with the requested platform. Adding desktop platforms requires the corresponding desktop config setting to be enabled. [ios (default), android (default), windows (default), linux (default), macos (default), web (default)] -t, --template=<type> Specify the type of project to create. [app] (default) Generate a Flutter application. [module] Generate a project to add a Flutter module to an existing Android or iOS application. [package] Generate a shareable Flutter project containing modular Dart code. [plugin] Generate a shareable Flutter project containing an API in Dart code with a platform-specific implementation through method channels for Android, iOS, Linux, macOS, Windows, web, or any combination of these. [plugin_ffi] Generate a shareable Flutter project containing an API in Dart code with a platform-specific implementation through dart:ffi for Android, iOS, Linux, macOS, Windows, or any combination of these. [skeleton] Generate a List View / Detail View Flutter application that follows community best practices. -s, --sample=<id> Specifies the Flutter code sample to use as the "main.dart" for an application. Implies "--template=app". The value should be the sample ID of the desired sample from the API documentation website (http://docs.flutter.dev/). An example can be found at: https://api.flutter.dev/flutter/widgets/SingleChildScrollView-class.html --list-samples=<path> Specifies a JSON output file for a listing of Flutter code samples that can be created with "--sample". Run "flutter help" to see global options. -
-t, --template (模版)
- [app] 默认类型,创建一个flutter app
- [module] flutter 模块开发
- [package] 纯Dart库
- [plugin]针对Android、iOS、Web、MacOS、Windows或Linux,或者把它们组合到一起的库
-
-i, --ios-language
- 从字面意上,我们可以知道这是来指定iOS平台开发语言,swift(默认)或objc,
- eg: -i swift
-
-a, --android-language
- 和👆一样.java或kotlin(默认)
- eg: -a java
-
--platforms
- 指定平台组合
- eg:--platforms=android,ios,web,MacOS,Windows,Linux,
-
--org
- 指定包名
- eg: --org com.example.hello
-
-
通用 命令创建
flutter create --org com.example.hello -t plugin --platforms=ios,android -i swift -a java hello
- 单独创建平台命令
相对来说,我觉得单独创建对应平台的命令还是很有用的. 比如你创建完平台后,误操作删除了某个平台的文件,或者您配置错某些东西,再或者你使用IDE创建的时候,少选了平台,需要你手动创建.这个时候就需要,我们单独创建了.
-
命令创建
- ios 命令创建
flutter create -t plugin --platforms=ios -i swift .- android 命令创建
flutter create -t plugin --platforms=android -a java .- web 命令创建
flutter create --template=plugin --platforms=web .
-
- 通过VScode创建
- 创建plugin
- 默认创建完成,是没有指定对应的平台的,如下图所示
- 通过pubspec.yaml 和 flutter create 来添加指定平台
- 在pubspec.yaml中添加你需要增加的平台
flutter: plugin: platforms: android: package: com.example.hello pluginClass: HelloPlugin ios: pluginClass: HelloPlugin- 通过命令我们就可以创建对应的平台
运行后,我们看一下,项目目录发生了什么变化flutter create .从上面我们看到,已经创建了对应的平台模块,由于android语言默认是kotlin,ios语言默认是swift,如果你想修改开发语言可以使用👇的命令
flutter create -a jave -i objc .
- 创建plugin