Is it possible to build a project with Dynamic feature modules and Koin?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







2















I have an app with different modules but the project is growing and we need to split the project in different Dynamic feature modules because the users (probably) would not need all the features. My problem is that Koin needs to be started from the Application class with all the koin modules that the app is going to load but from that class I don't know which modules I have to load and :app modules does not import the other modules in gradle's dependencies (the other modules have to implement :app module).
My question is if it is a way to load Koin modules from an Activity in :app or the other loaded features.










share|improve this question





























    2















    I have an app with different modules but the project is growing and we need to split the project in different Dynamic feature modules because the users (probably) would not need all the features. My problem is that Koin needs to be started from the Application class with all the koin modules that the app is going to load but from that class I don't know which modules I have to load and :app modules does not import the other modules in gradle's dependencies (the other modules have to implement :app module).
    My question is if it is a way to load Koin modules from an Activity in :app or the other loaded features.










    share|improve this question

























      2












      2








      2








      I have an app with different modules but the project is growing and we need to split the project in different Dynamic feature modules because the users (probably) would not need all the features. My problem is that Koin needs to be started from the Application class with all the koin modules that the app is going to load but from that class I don't know which modules I have to load and :app modules does not import the other modules in gradle's dependencies (the other modules have to implement :app module).
      My question is if it is a way to load Koin modules from an Activity in :app or the other loaded features.










      share|improve this question














      I have an app with different modules but the project is growing and we need to split the project in different Dynamic feature modules because the users (probably) would not need all the features. My problem is that Koin needs to be started from the Application class with all the koin modules that the app is going to load but from that class I don't know which modules I have to load and :app modules does not import the other modules in gradle's dependencies (the other modules have to implement :app module).
      My question is if it is a way to load Koin modules from an Activity in :app or the other loaded features.







      android android-studio kotlin koin






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 22 '18 at 9:43









      Ch4viCh4vi

      115412




      115412
























          1 Answer
          1






          active

          oldest

          votes


















          0














          At the end, reading the documentation, I have found the solution. Instad of using startKoin with all my feature modules, I can use startKoin(...) with no modules or base modules and then loadKoinModules(...) (more) in each dynamic feature to load their koin modules.
          As a tip about dynamic features, it is good to have an interface with an entry point function that every feature implements to start the modules only once.






          share|improve this answer
























          • What is a good entrypoint to load the module? My module only contains an activity and some data classes and those don't seem like good entrypoints to me.

            – Oscar Spruit
            Feb 20 at 12:09












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53427963%2fis-it-possible-to-build-a-project-with-dynamic-feature-modules-and-koin%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          At the end, reading the documentation, I have found the solution. Instad of using startKoin with all my feature modules, I can use startKoin(...) with no modules or base modules and then loadKoinModules(...) (more) in each dynamic feature to load their koin modules.
          As a tip about dynamic features, it is good to have an interface with an entry point function that every feature implements to start the modules only once.






          share|improve this answer
























          • What is a good entrypoint to load the module? My module only contains an activity and some data classes and those don't seem like good entrypoints to me.

            – Oscar Spruit
            Feb 20 at 12:09
















          0














          At the end, reading the documentation, I have found the solution. Instad of using startKoin with all my feature modules, I can use startKoin(...) with no modules or base modules and then loadKoinModules(...) (more) in each dynamic feature to load their koin modules.
          As a tip about dynamic features, it is good to have an interface with an entry point function that every feature implements to start the modules only once.






          share|improve this answer
























          • What is a good entrypoint to load the module? My module only contains an activity and some data classes and those don't seem like good entrypoints to me.

            – Oscar Spruit
            Feb 20 at 12:09














          0












          0








          0







          At the end, reading the documentation, I have found the solution. Instad of using startKoin with all my feature modules, I can use startKoin(...) with no modules or base modules and then loadKoinModules(...) (more) in each dynamic feature to load their koin modules.
          As a tip about dynamic features, it is good to have an interface with an entry point function that every feature implements to start the modules only once.






          share|improve this answer













          At the end, reading the documentation, I have found the solution. Instad of using startKoin with all my feature modules, I can use startKoin(...) with no modules or base modules and then loadKoinModules(...) (more) in each dynamic feature to load their koin modules.
          As a tip about dynamic features, it is good to have an interface with an entry point function that every feature implements to start the modules only once.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Dec 18 '18 at 10:54









          Ch4viCh4vi

          115412




          115412













          • What is a good entrypoint to load the module? My module only contains an activity and some data classes and those don't seem like good entrypoints to me.

            – Oscar Spruit
            Feb 20 at 12:09



















          • What is a good entrypoint to load the module? My module only contains an activity and some data classes and those don't seem like good entrypoints to me.

            – Oscar Spruit
            Feb 20 at 12:09

















          What is a good entrypoint to load the module? My module only contains an activity and some data classes and those don't seem like good entrypoints to me.

          – Oscar Spruit
          Feb 20 at 12:09





          What is a good entrypoint to load the module? My module only contains an activity and some data classes and those don't seem like good entrypoints to me.

          – Oscar Spruit
          Feb 20 at 12:09




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53427963%2fis-it-possible-to-build-a-project-with-dynamic-feature-modules-and-koin%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How to change which sound is reproduced for terminal bell?

          Can I use Tabulator js library in my java Spring + Thymeleaf project?

          Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents