just in case, you don't need to split the common from specific code into separate projects. you can place the specific platform code and common on the same module, android won't get the ios code and viceversa, look at each sourceset as a module, they all get compiled into a library for each platform in the end, but the coding process is separate on each sourceset