Flavors in Flutter - Multiple apps from one source code - Icon Generation

  Рет қаралды 38,312

Flutter Explained

Flutter Explained

Күн бұрын

We want to look at how #Flavors work in #Flutter and Dart. In this video, you will see how we create two completely different apps from one source code. It will include app icons, own install names and more.
If you like our work and want to support us, feel free to join us on Patreon.
/ flutterexp
If you are interested in some live coding with me, checkout my Kick account:
kick.com/devcafe
GitHub Repository: github.com/Flutter-Explained/...
GitHub Tutorial Branch: github.com/Flutter-Explained/...
Flutter Flavors Ressources: flutter.dev/docs/deployment/f...
Flutter Very Good CLI: github.com/VeryGoodOpenSource...
Timetable:
00:00 Introduction to Flutter Flavors
03:00 Creating two Dart Entry Points
06:40 Startup configurations in Android Studio
08:40 iOS Configuration of Scheme´s
15:40 Android Configuration of Flavors
23:15 Flutter Icon Generator - Generate App Icons for Android + iOS
24:53 Setup iOS App Icon for Schemas
28:22 Thank you Flutter Explained Members
Join this channel to get access to perks:
/ @flutterexplained
** New Mentorship Program to boost your Flutter career **
gumroad.com/products/ydgtfV
**BOOKS I RECOMMEND**
geni.us/flutterbook
geni.us/clean-code
** KZbin OPTIMIZATION PLUG-INS I USE **
TUBEBUDDY: www.tubebuddy.com/flutterexpl...
VIDIQ: vidiq.com?afmc=7jl
**ALL THE KZbin EQUIPMENT I USE**:
Our current KZbin gear
💻 MacBook Pro: geni.us/mac-book
📹 Lumix FZ1000: geni.us/fz-1000
🎙 Samson Mic: geni.us/samson-mic
🎉 ACCESSORIES:
Satechi USB-C Adapter: geni.us/P9R0
SD Card for 4k Videos: geni.us/PTAc
Disclaimer Flutter Explained (Max & Mahtab) are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to www.amazon.com.
** Social Medias **
Website: flutter-explained.dev
Say hi to Max
Twitter: / flutter_exp
GitHub Max: github.com/md-weber
LinkedIn: / max-weber-9889a3ba
Discord: / discord
Say hi to Mahtab
Twitter Mahtab: / mahtab_dev
GitHub Mahtab: github.com/mt-tadayon

Пікірлер: 93
@R3d_Devil
@R3d_Devil 3 жыл бұрын
I used to implement flavors in a very rudimentary manner...this is much more intuitive. You sir, have a new subscriber.
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Awesome, thank you!
@ppassa1
@ppassa1 2 жыл бұрын
Wow this helps a lot! I like Max's youtube because he understands what we need to know for making a production-level application.
@FlutterExplained
@FlutterExplained 2 жыл бұрын
Thank you so much for your feedback. :)
@kanaanzafar8080
@kanaanzafar8080 10 ай бұрын
Very simply explained. Just Amazing
@bigdreams3953
@bigdreams3953 Жыл бұрын
I love how he is the only one making these challengin things while others are flooding the internet with how to make your first flutter app
@FlutterExplained
@FlutterExplained Жыл бұрын
Thanks so much for the kind words!
@muzykina
@muzykina 2 жыл бұрын
Very useful video! Thanks for your job!
@alexey5174
@alexey5174 3 жыл бұрын
Amazing tutorial. Thanks! Helped a lot
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Glad to hear that :)
@sallytimmer5643
@sallytimmer5643 2 жыл бұрын
Great tutorial. Thanks!
@chamikapeiris
@chamikapeiris Жыл бұрын
This is great. You have good teaching skills.
@aliozer9082
@aliozer9082 6 ай бұрын
Thank you for the wonderful explanation
@ShawnBlais
@ShawnBlais 3 жыл бұрын
Very exhaustive video, thanks!
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Yeah it was very long but I hope it is helpful :)
@kerimamanov7760
@kerimamanov7760 2 жыл бұрын
Hey, great content! Another use-case for flavors in flutter: "We need app for 2 markets: global and china (use different auth, payment, notification methods), so we did it with flavors". Thank you.
@FlutterExplained
@FlutterExplained 2 жыл бұрын
That is an amazing use case, thanks for the example!
@ivanyoed
@ivanyoed 2 жыл бұрын
amazing use case, indeed
@user-kw4kp7eq9m
@user-kw4kp7eq9m 11 ай бұрын
Good job! Thank you very much!
@kirill4531
@kirill4531 3 жыл бұрын
Like without even watching! I'll add it to my watchlater playlist and get back to it when I have time for it to watch without interruptions. Thanks for great topic! More comments later.
@charithasds
@charithasds 11 ай бұрын
Thanks for the clear explanation! 😇
@FlutterExplained
@FlutterExplained 11 ай бұрын
No problem you are most welcome!
@pravinprince3221
@pravinprince3221 Жыл бұрын
Thank you for the wonderful video sir
@konradbejger2232
@konradbejger2232 2 жыл бұрын
Nicely done
@SlavrilLavigne
@SlavrilLavigne 15 күн бұрын
thanks so much, you help me a lot
@matthieuregnauld9648
@matthieuregnauld9648 3 жыл бұрын
Worked first try! No better way to start the day ;)
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Great to hear! Enjoy the rest of this fantastic week :)
@matthieuregnauld9648
@matthieuregnauld9648 3 жыл бұрын
@@FlutterExplained That being said, I noticed something strange for the iOS part: when you go to Runner.xcodeproj, then Targets, then Build Settings, then go to the User-Defined part, the FLUTTER_TARGET setting always has the same value, regardless of the scheme... Is it normal?
@FlutterExplained
@FlutterExplained 3 жыл бұрын
​@@matthieuregnauld9648 To be honest, I do not know :), I checked two of my projects and at least for my examples that is correct it looks normal to me :)
@user-lj4ti4ny4r
@user-lj4ti4ny4r Жыл бұрын
Thanks, very usefull!!!
@FlutterExplained
@FlutterExplained Жыл бұрын
Glad it was helpful!
@tessertaha
@tessertaha 3 жыл бұрын
Very professioinal video!
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Glad you think so! Thanks Taha :) hope you are very well!
@nuriddinburkhonov5214
@nuriddinburkhonov5214 Жыл бұрын
Hey great tutorial! Thank you very much! Like and a Sub
@FlutterExplained
@FlutterExplained Жыл бұрын
Thanks for the sub and the amazing feedback 🥰
@sushantkumar7630
@sushantkumar7630 8 ай бұрын
Thanks.
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Flutter Flavors are an exciting topic because you can create multiple apps right out of one codebase. Additionally, it allows you to manage different stages of Development with them like Dev, Testing and Production. If you have any questions, please feel free to write them right below. If you want to see how we learned all that about Flutter Flavors, have a look into our Live Stream! kzbin.info/www/bejne/pIiVd2eXpJyae68
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Was meinst du? Kannst du mal was auf Deutsch machen.?
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Bitte
@purvsonani4597
@purvsonani4597 2 жыл бұрын
nice content
@TheCass240
@TheCass240 3 жыл бұрын
Great topic, not enough information out there about it!
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Thank you for your feedback. That was exactly the issue I had and why I thought a video would be helpful.
@m.husnulaqib1458
@m.husnulaqib1458 2 жыл бұрын
thanks
@rohitbarge9876
@rohitbarge9876 Жыл бұрын
How can I use a theme like i need to set the Elevated Button background color of its primary color.
@Adityaharikishan
@Adityaharikishan Жыл бұрын
Excellent explanation, When I upgraded my Rivier pod library to the latest version, during the runtime I got this error Class 'FlavorConfig' has no instance getter 'state'. Receiver: Instance of 'FlavorConfig' Tried calling: state. Can you help me with what I'm supposed to do here? I really appreciate any help you can provide.
@nils.reichardt
@nils.reichardt 3 жыл бұрын
7:15 Why do you not use the "Build flavor" textfield in Android Studio (under Additional attach args)?
@FlutterExplained
@FlutterExplained 3 жыл бұрын
I did not know about that :) thanks for the suggestion!
@iabhishekpatil4415
@iabhishekpatil4415 2 жыл бұрын
Great Thanx 👍 Is this method still recommended in 2022 with flutter 3.0?
@manishgautam2424
@manishgautam2424 10 ай бұрын
is there any approach where we can get --flavor argument in main() without defining any folder scheme , just in main.dart
@ivanyoed
@ivanyoed 2 жыл бұрын
How can you debug through android studio when running your app through a flavor command? It does not seem to be possible.
@danielborges123
@danielborges123 3 жыл бұрын
Great video! I have one question: if I have 5 flavors, for example, where each one have a list of assets. All the 5 app builds will have all the 5 list of assets, resulting in a build with unused assets, whereas I need only one.
@FlutterExplained
@FlutterExplained 3 жыл бұрын
That is correct, it will bundle all the assets that you define in the pubspec.yaml and maybe also a very interesting downside of Flavours. I do unfortunatly have not so much experience to tell you if there is a way to improve the treeshaking in that area, but it is worth investigating!
@keithbacalso9433
@keithbacalso9433 15 сағат бұрын
I dont get it why do we have to create 3 separate files for `main_dev, ,main_stg, main_prod`. If there is already a launch.json that can target one `main.dart` ???
@stefaandeconinck1531
@stefaandeconinck1531 3 жыл бұрын
Great video, question 🙋‍♂️: is there a way to configure the settings for IOS by the IDE because I do t have an apple computer?
@FlutterExplained
@FlutterExplained 3 жыл бұрын
Hi Stefaan, thank you :). Regarding your question I am not sure, it could be possible but it will be very challenging like iOS development is in general. But you can skip the iOS part and just set it up for Android.
@diogosequeira4873
@diogosequeira4873 3 жыл бұрын
Hi there, great video! Was just wondering at min 5:00, what's the advantage of using cascade operator after instanciating the class to set the properties values rather than populating them straight in the constructor? Is it just a matter of readability or its more performant? Thanks for the video
@cleopatria1346
@cleopatria1346 2 жыл бұрын
Could you tell me how to use the apiEndpoint without context? I need to call it in file where I keep the constants for the API url.
@FlutterExplained
@FlutterExplained 2 жыл бұрын
Hi Cleo, very good question. Probably you would need a build runner that generates the constant file with the flavor name. Another option would be to make the file a none constant file. I hope that helps you :).
@jidechiukor3284
@jidechiukor3284 2 ай бұрын
This video has been my go to any time I start a new project. I have a question - I notice you use schema for creating the flavours. I saw a friend use target in React Native. My question is what is can you do the same for flutter. I think so because I have read a medium post where some use it. What is the benefit of using target or schema.
@FlutterExplained
@FlutterExplained Ай бұрын
Very good question. In Xcode, a "target" specifies what to build and includes all necessary files and settings, while a "scheme" defines how to build, run, and manage the workflow for one or more targets.
@abhipanchal787
@abhipanchal787 Жыл бұрын
final config = context.read(flavorConfigProvider); in this line getting error "The method 'read' isn't defined for the type 'BuildContext'."
@AbhishekVijayBajaj
@AbhishekVijayBajaj Жыл бұрын
Hlo, Did you find any solution?
@shole7035
@shole7035 Жыл бұрын
@@AbhishekVijayBajaj this is for the older version of riverpod, now u need to do it in this way: ref.read(flavorConfigProvider).appTitle etc
@Rodrigo29948
@Rodrigo29948 8 ай бұрын
is there a way to flavor a package/plugin?
@marllon_drion
@marllon_drion 2 жыл бұрын
Hi thank you for your video! I would like to know if you or someone Know a different way to do it, because in my case I need to build over than 30 apps for each operation system. So, I need some an easy way….
@gabrielamat596
@gabrielamat596 2 жыл бұрын
Hey, how can i delete a scheme? i created 3 but now i'm gonna use just 2, prod and qa. Since when I deleted the "main_dev.dart" file i can't build the app, got this error "error when reading "lib/main_dev.dart""
@FlutterExplained
@FlutterExplained 2 жыл бұрын
Hi I hope I understand you correctly, then you need to change your Android Studio executable or your cmd line. Around 8:06 I explain that part. That should solve your problem inside of Flutter if you want to remove a scheme in XCode you will need to do it there.
@Hamzakhan-kx2ql
@Hamzakhan-kx2ql 2 жыл бұрын
Awesome tutorial. But unfortunately I am not able generate ios build. Can you please guid me what extra we can do to generate ios build from xcode
@SandunPerera
@SandunPerera 2 жыл бұрын
Common thing is google services file from Firebase, and how to apply flavor wise google services files into the source code would be helpful.
@369Funny
@369Funny 2 жыл бұрын
ok so how about firebase and Google map api?
@AndresJimenezS
@AndresJimenezS 2 жыл бұрын
how can i use flavors for macos ?
@FlutterExplained
@FlutterExplained 2 жыл бұрын
Hi Andres, this is a really good question and I am not absolutely sure if this is possible. I will have a look and if I find a solution I will let you know.
@minhnguyennhat56
@minhnguyennhat56 2 жыл бұрын
I have problem when open folder android and build. Error with Error when reading 'lib/main.dart': No such file or directory. Please help me
@FlutterExplained
@FlutterExplained 2 жыл бұрын
Hi there, that sounds like a very weird error, but you do usually not want to open the android folder, you want to be in the parent folder to build the project. it searches for "lib/main.dart" inside of the android folder probably. But it is hard to analyse the problem without the correct error log.
@minhnguyennhat56
@minhnguyennhat56 2 жыл бұрын
@@FlutterExplained OH, when i generate apk or aab, i alway open file android inside project to build.Because i want build by android studio tool, not terminal. But when i build this error arrive.
@FlutterExplained
@FlutterExplained 2 жыл бұрын
That is because it searches for a different entry point if you rename the main.dart file. One solution is to work then via the cmd stackoverflow.com/a/58514075/3690032 Another solution would be to find out how to set the correct Entrypoint in Android Studio.
@minhnguyennhat56
@minhnguyennhat56 2 жыл бұрын
@@FlutterExplained oh no! this problem still :((((
@CatalinPatrascu
@CatalinPatrascu 2 жыл бұрын
Nice video mate, I see you left Runner as well so I have duplicated the same I have dev, live and Runner (which is the same as live). I do have a problem with Firebase TestLab and integration testing, maybe you can help. Before the flavors was working fine (and on android after flavors works fine as well, but not on iOS). If I run flutter drive --driver=test_driver/integration_driver.dart --target=integration_test/app_test.dart works fine -> routing to Runner flavor if nothing is mentioned But flutter build ios integration_test/app_test.dart --release and then xcodebuild -workspace Runner.xcworkspace -scheme Runner -config Flutter/Release.xcconfig -derivedDataPath $output -sdk iphoneos build-for-testing Fails some tests. Any idea how these flavors and integration testing and TestLab fit in all together?
@shilpavania4113
@shilpavania4113 2 жыл бұрын
Great video i have followed all the config but when i run in ios i am getting below error. acn anybody please tell what i am missing or any help would be appreciate. Thanks Error: Error when reading 'lib/main.dart': No such file or directory
@FlutterExplained
@FlutterExplained 2 жыл бұрын
AFAIK we changed the filename of main.dart to something else could you try to change the config file name of the file to the correct name.
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Blablabla
@sajadrahmdel2385
@sajadrahmdel2385 2 жыл бұрын
Please stop zooming the camera in and out. Good contents, keep it up
@FlutterExplained
@FlutterExplained 2 жыл бұрын
I got that feedback now more and more and will do it :) thanks a lot!
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Kann mir jemand antworten?
@lenaklus4844
@lenaklus4844 3 жыл бұрын
*_*
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Hāļľô
@ivanyoed
@ivanyoed 2 жыл бұрын
@@lenaklus4844 hi. Ich habe auch gemerkt, dass er Deutsch spricht.
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Hallo
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Kann jemand Deutsch sprechen?
@lenaklus4844
@lenaklus4844 3 жыл бұрын
Max kann Deutsch und Englisch sprechen.
@HimanshuKumar-vl1tf
@HimanshuKumar-vl1tf 3 жыл бұрын
cant we just --dart-define everything?
@belaidaitzeggane2945
@belaidaitzeggane2945 Жыл бұрын
i am using very_good_cli
@FlutterExplained
@FlutterExplained Жыл бұрын
Very valid option!
Flutter 2.2 & Dart 2.13 Patch Rundown
18:20
Flutter Explained
Рет қаралды 2,1 М.
Flutter Flavors, App Icons, and Firebase Tutorial
9:39
Marcus Ng
Рет қаралды 49 М.
1❤️
00:17
Nonomen ノノメン
Рет қаралды 13 МЛН
Who has won ?? 😀 #shortvideo #lizzyisaeva
00:24
Lizzy Isaeva
Рет қаралды 34 МЛН
Melos - Manage monorepos in Flutter and Dart
34:19
Flame Engine
Рет қаралды 5 М.
Top 70 Flutter Tips, Widgets & Packages
16:22
Flutter Mapp
Рет қаралды 125 М.
iOS Schemes with Flutter
13:31
Evoqys
Рет қаралды 4,3 М.
Code Push for Android & iOS | Flutter Shorebird
25:46
HeyFlutter․com
Рет қаралды 14 М.
How To: Deploy Apps With Codemagic
16:58
Trey Codes
Рет қаралды 14 М.
35 Flutter Tips That Will Change Your Life
10:53
Flutter Mapp
Рет қаралды 295 М.
Create Responsive Flutter Apps with Minimal Effort
43:10
Reso Coder
Рет қаралды 73 М.
🖥📱RESPONSIVE DESIGN • Flutter Tutorial
8:03
Mitch Koko
Рет қаралды 271 М.
iPhone 16 с инновационным аккумулятором
0:45
ÉЖИ АКСЁНОВ
Рет қаралды 7 МЛН
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,6 МЛН
Мой инст: denkiselef. Как забрать телефон через экран.
0:54