关于组件化的问题,之前都是自己独立开发项目,所以组件化的东西基本上没有用过,最近学习了一下
组件化的框架搭建
首先创建两个module 创建module的时候,我们要注意选择这个
module的名字要注意不能起重复。
创建好两个module之后,这两个module其实是可以独立运行的,他们两个可以单独成为一个APP
为了实现组件化,我们需要对这三个app的SDK进行统一管理,所以在main app里的gradle.properties里创建了三个字符串来对SDK进行统一管理,同时也创立了两个字符串来对于两个module来管理。
下面的两个字符串其实就是两个module的作为lib的开关,通过true false来控制开关。
接下来我们就对三个app的build.gradle来进行改造。
MainApp
首先将main app的minSDKVersion,targetSDKVersion,compileSDKVersion改变写法
这里要注意的是最后需要toInteger(),因为我们定义的MINSDKVERSION=15,其实这就是一个字符串,所以需要转化一下。
然后在依赖的时候,我们也要注意,只有loginModule是lib的时候才可以,所以在依赖的时候也要判断一下
其他App
对于其他的两个module的build.gradle,我们需要注意的地方就是
第一 是apply plugin
第二 我们的applicationId
第三 minSdkVerison tragetSdkVersion compileSdkVersion
第四 manifest
关于manifest文件,我们创建了两份,一份是原来的manifest,另外一份我们需要将里面的application进行简化
上面的都是通过我们创建的控制开关来进行不同情况下的控制,切换lib和独立app之间的角色。
下一篇,就自定义一个ARouter。