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

Sdílet
Vložit
  • čas přidán 7. 09. 2024

Komentáře • 93

  • @R3d_Devil
    @R3d_Devil Před 3 lety +4

    I used to implement flavors in a very rudimentary manner...this is much more intuitive. You sir, have a new subscriber.

  • @bigdreams3953
    @bigdreams3953 Před 2 lety +5

    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

  • @kerimamanov7760
    @kerimamanov7760 Před 3 lety +8

    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  Před 3 lety +1

      That is an amazing use case, thanks for the example!

    • @ivanyoed
      @ivanyoed Před 2 lety

      amazing use case, indeed

  • @FlutterExplained
    @FlutterExplained  Před 3 lety +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!
    czcams.com/video/nW2F4ao7gEM/video.html

  • @ppassa1
    @ppassa1 Před 2 lety +1

    Wow this helps a lot! I like Max's youtube because he understands what we need to know for making a production-level application.

  • @kirill4531
    @kirill4531 Před 3 lety +1

    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.

  • @kanaanzafar8080
    @kanaanzafar8080 Před rokem +1

    Very simply explained. Just Amazing

  • @charithasds
    @charithasds Před rokem +1

    Thanks for the clear explanation! 😇

  • @alexey5174
    @alexey5174 Před 3 lety +2

    Amazing tutorial. Thanks! Helped a lot

  • @matthieuregnauld9648
    @matthieuregnauld9648 Před 3 lety +1

    Worked first try! No better way to start the day ;)

    • @FlutterExplained
      @FlutterExplained  Před 3 lety +1

      Great to hear! Enjoy the rest of this fantastic week :)

    • @matthieuregnauld9648
      @matthieuregnauld9648 Před 3 lety +1

      @@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  Před 3 lety +1

      ​@@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 :)

  • @keithbacalso9433
    @keithbacalso9433 Před měsícem

    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` ???

  • @chamikapeiris
    @chamikapeiris Před rokem

    This is great. You have good teaching skills.

  • @ShawnBlais
    @ShawnBlais Před 3 lety +1

    Very exhaustive video, thanks!

  • @jidechiukor3284
    @jidechiukor3284 Před 3 měsíci +1

    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  Před 3 měsíci

      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.

  • @muzykina
    @muzykina Před 2 lety +1

    Very useful video! Thanks for your job!

  • @aliozer9082
    @aliozer9082 Před 8 měsíci

    Thank you for the wonderful explanation

  • @abhipanchal787
    @abhipanchal787 Před 2 lety

    final config = context.read(flavorConfigProvider); in this line getting error "The method 'read' isn't defined for the type 'BuildContext'."

    • @AbhishekVijayBajaj
      @AbhishekVijayBajaj Před rokem

      Hlo, Did you find any solution?

    • @shole7035
      @shole7035 Před rokem

      @@AbhishekVijayBajaj this is for the older version of riverpod, now u need to do it in this way: ref.read(flavorConfigProvider).appTitle etc

  • @TheCass240
    @TheCass240 Před 3 lety +1

    Great topic, not enough information out there about it!

    • @FlutterExplained
      @FlutterExplained  Před 3 lety +1

      Thank you for your feedback. That was exactly the issue I had and why I thought a video would be helpful.

  • @sallytimmer5643
    @sallytimmer5643 Před 2 lety +1

    Great tutorial. Thanks!

  • @user-lj4ti4ny4r
    @user-lj4ti4ny4r Před rokem +1

    Thanks, very usefull!!!

  • @tessertaha
    @tessertaha Před 3 lety +2

    Very professioinal video!

    • @FlutterExplained
      @FlutterExplained  Před 3 lety +1

      Glad you think so! Thanks Taha :) hope you are very well!

  • @rohitbarge9876
    @rohitbarge9876 Před rokem

    How can I use a theme like i need to set the Elevated Button background color of its primary color.

  • @SlavrilLavigne
    @SlavrilLavigne Před 2 měsíci

    thanks so much, you help me a lot

  • @konradbejger2232
    @konradbejger2232 Před 2 lety +1

    Nicely done

  • @pravinprince3221
    @pravinprince3221 Před rokem

    Thank you for the wonderful video sir

  • @Rodrigo29948
    @Rodrigo29948 Před 10 měsíci

    is there a way to flavor a package/plugin?

  • @user-kw4kp7eq9m
    @user-kw4kp7eq9m Před rokem

    Good job! Thank you very much!

  • @manishgautam2424
    @manishgautam2424 Před rokem

    is there any approach where we can get --flavor argument in main() without defining any folder scheme , just in main.dart

  • @Adityaharikishan
    @Adityaharikishan Před rokem

    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.

  • @iabhishekpatil4415
    @iabhishekpatil4415 Před 2 lety

    Great Thanx 👍
    Is this method still recommended in 2022 with flutter 3.0?

  • @marllon_drion
    @marllon_drion Před 2 lety

    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….

  • @nuriddinburkhonov5214
    @nuriddinburkhonov5214 Před rokem +1

    Hey great tutorial! Thank you very much! Like and a Sub

  • @ivanyoed
    @ivanyoed Před 2 lety

    How can you debug through android studio when running your app through a flavor command? It does not seem to be possible.

  • @stefaandeconinck1531
    @stefaandeconinck1531 Před 3 lety +2

    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  Před 3 lety +2

      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.

  • @Hamzakhan-kx2ql
    @Hamzakhan-kx2ql Před 2 lety

    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 Před 2 lety

    Common thing is google services file from Firebase, and how to apply flavor wise google services files into the source code would be helpful.

  • @sushantkumar7630
    @sushantkumar7630 Před 9 měsíci

    Thanks.

  • @cleopatria1346
    @cleopatria1346 Před 2 lety +1

    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  Před 2 lety

      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 :).

  • @nils.reichardt
    @nils.reichardt Před 3 lety +1

    7:15 Why do you not use the "Build flavor" textfield in Android Studio (under Additional attach args)?

    • @FlutterExplained
      @FlutterExplained  Před 3 lety +1

      I did not know about that :) thanks for the suggestion!

  • @danielborges123
    @danielborges123 Před 3 lety +1

    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  Před 3 lety +1

      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!

  • @m.husnulaqib1458
    @m.husnulaqib1458 Před 2 lety

    thanks

  • @gabrielamat596
    @gabrielamat596 Před 2 lety

    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  Před 2 lety

      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.

  • @369Funny
    @369Funny Před 2 lety

    ok so how about firebase and Google map api?

  • @diogosequeira4873
    @diogosequeira4873 Před 3 lety

    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

  • @sajadrahmdel2385
    @sajadrahmdel2385 Před 2 lety +1

    Please stop zooming the camera in and out.
    Good contents, keep it up

    • @FlutterExplained
      @FlutterExplained  Před 2 lety +1

      I got that feedback now more and more and will do it :) thanks a lot!

  • @shilpavania4113
    @shilpavania4113 Před 2 lety

    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  Před 2 lety

      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.

  • @CatalinPatrascu
    @CatalinPatrascu Před 2 lety

    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?

  • @purvsonani4597
    @purvsonani4597 Před 2 lety

    nice content

  • @minhnguyennhat56
    @minhnguyennhat56 Před 3 lety

    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  Před 3 lety

      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 Před 3 lety

      @@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  Před 3 lety

      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 Před 3 lety

      @@FlutterExplained oh no! this problem still :((((

  • @AndresJimenezS
    @AndresJimenezS Před 2 lety +1

    how can i use flavors for macos ?

    • @FlutterExplained
      @FlutterExplained  Před 2 lety

      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.

  • @lenaklus4844
    @lenaklus4844 Před 3 lety +1

    Blablabla

  • @lenaklus4844
    @lenaklus4844 Před 3 lety +1

    Hallo

  • @lenaklus4844
    @lenaklus4844 Před 3 lety +1

    Kann mir jemand antworten?

  • @lenaklus4844
    @lenaklus4844 Před 3 lety +1

    Max kann Deutsch und Englisch sprechen.

  • @lenaklus4844
    @lenaklus4844 Před 3 lety +1

    Kann jemand Deutsch sprechen?

  • @HimanshuKumar-vl1tf
    @HimanshuKumar-vl1tf Před 3 lety

    cant we just --dart-define everything?

  • @belaidaitzeggane2945
    @belaidaitzeggane2945 Před rokem +1

    i am using very_good_cli