主工程的代码堆积,造成包目录结构臃肿,难区分。借用pins工程结构暂时,其相互独立的代码进行区分,为后期模块组件化,留下了灵活性。
pins ,原理是gradle sourceSets ,
sourceSets { main { def dirs = ['p_vpos',//vpos 'p_vbook',//v图 'p_vbook_door', //v图桌面机+门禁 'p_vlocker',//v柜 'p_thirdPart',//第三方库 'p_serialBus',//串口库 'p_commonPart',//公用库 'p_samplePart',//样例demo ] dirs.each { dir -> def projectName = project.getName() def javaSrcDir = "src/$dir/main/java" def resDir = "src/$dir/main/res" def javaFiles = new File(projectName, javaSrcDir) def resDirFiles = new File(projectName, resDir) println("include pins project ${javaFiles.getAbsolutePath()} ") if (!javaFiles.exists()) { javaFiles.mkdirs() } if (!resDirFiles.exists()) { resDirFiles.mkdirs() } java.srcDir(javaSrcDir) res.srcDir(resDir) } } }
目录结构清新
src main p_commonPart p_samplePart p_serialBus p_thirdPart p_vbook p_vbook_door p_vlocker p_vpos
对于,代码隔离性,可以参考微信的api, 或者一些插件MicroModule等实现。个人觉得要是模块与主工程关系不强,就是应该独立一个模块
参考网站微信Android模块化架构重构实践
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)