Flutter: How to create a new project
Solution 1:
I think a better way is to create Flutter project by command line
flutter create --org com.yourdomain your_app_name
This command will create a Simple Counter App
If you want a more advanced template (with a ListView / DetailView / Settings / Theme switch) that follows community best practices run the command (only since the Flutter 2.5 version):
flutter create --org com.yourdomain -t skeleton your_app_name
Swift, Kotlin, and androidx dependencies are the default options
After just open the created project in Android Studio or in VSCode
Parameter
--org com.yourcompany
will form applicationId for Android:
com.yourcompany.yourappname
and iOS PRODUCT_BUNDLE_IDENTIFIER:
com.yourcompany.yourAppName
To explore all possible parameters type
flutter create --help
Solution 2:
There's no need to use XCode
Use the flutter create command to create a new project:
In the terminal execute flutter create my_project_name
The command creates a Flutter project directory called my_project_name that contains a simple demo app.
Solution 3:
Here is in advance! Without android studio, you can create new project with some arguments (Option Migration androidX, Platform languages).
flutter create --androidx -t app --org com.companyname.packagename -a kotlin -i swift myapp
Explore Yourself by Flutter CLI
flutter create --help
--[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-]with-driver-test : Also add a flutter_driver dependency and generate a sample 'flutter drive' test.
-t, --template=≶type> : Specify the type of project to create:
[app] (default) Generate a Flutter 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 for Android, for iOS code, or for both.
-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://master-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 created with --sample.
--[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 : [objc, swift (default)]
- -a, --android-language : [java, kotlin (default)]
- --[no-]androidx : Generate a project using the AndroidX support libraries
Flutter Site: AndroidX Migration
Solution 4:
Yet, there is no way to create a project using Xcode Editor.
As of now, you must have to create a project using 'Terminal' app.
Here I created a sample test_project
using following terminal command
flutter create test_project
And here is my Xcode Project ready with workspace.
Solution 5:
All other answers did not show the most correct description of the arguments of the flutter create
.
The argument that has no name does NOT represent the name of your project, but it mainly represents the name of the folder, in which your project will be created, and in case --project-name
argument is passed, the project name will be as same as the folder.
This is mentioned in the flutter create --help
:
Usage: flutter create <output directory>
--project-name The project name for this new Flutter project. This must be a valid dart package name.
So in simple examples:
Creates a new project in the current directory (notice the dot .
) without creating any new folder:
flutter create --project-name project_name .
Creates a new project in a new folder (whose name is different than the project's name):
flutter create --project-name some_name some-folder-name
Creates a new project in a new folder which has the same name:
flutter create some_name
Creates a new project in the current directory, by also specifying the fully qualified package name or Id (for Android and IOS):
flutter create --project-name some_name --org com.COMPANY .
One benefit of that, is if you want to create a Flutter project directly in a folder that does not follow the same naming rules that flutter projects/packages must follow (e.g. no dashes).