模仿组件化路由ARouter的原理(一)

关于组件化的问题,之前都是自己独立开发项目,所以组件化的东西基本上没有用过,最近学习了一下

组件化的框架搭建

首先创建两个module 创建module的时候,我们要注意选择这个

 

模仿组件化路由ARouter的原理(一)_第1张图片

module的名字要注意不能起重复。

创建好两个module之后,这两个module其实是可以独立运行的,他们两个可以单独成为一个APP

为了实现组件化,我们需要对这三个app的SDK进行统一管理,所以在main app里的gradle.properties里创建了三个字符串来对SDK进行统一管理,同时也创立了两个字符串来对于两个module来管理。

模仿组件化路由ARouter的原理(一)_第2张图片

下面的两个字符串其实就是两个module的作为lib的开关,通过true false来控制开关。

接下来我们就对三个app的build.gradle来进行改造。

MainApp

首先将main app的minSDKVersion,targetSDKVersion,compileSDKVersion改变写法

这里要注意的是最后需要toInteger(),因为我们定义的MINSDKVERSION=15,其实这就是一个字符串,所以需要转化一下。

然后在依赖的时候,我们也要注意,只有loginModule是lib的时候才可以,所以在依赖的时候也要判断一下

模仿组件化路由ARouter的原理(一)_第3张图片

 

其他App

对于其他的两个module的build.gradle,我们需要注意的地方就是

第一 是apply plugin

模仿组件化路由ARouter的原理(一)_第4张图片

第二 我们的applicationId

第三 minSdkVerison tragetSdkVersion compileSdkVersion

第四  manifest

模仿组件化路由ARouter的原理(一)_第5张图片

关于manifest文件,我们创建了两份,一份是原来的manifest,另外一份我们需要将里面的application进行简化

模仿组件化路由ARouter的原理(一)_第6张图片

上面的都是通过我们创建的控制开关来进行不同情况下的控制,切换lib和独立app之间的角色。

 

下一篇,就自定义一个ARouter。

你可能感兴趣的:(模仿组件化路由ARouter的原理(一))