Andoird 组件化研究

 

 

 

Andoird 组件化研究

集成模式:业务组件被APP壳工程依赖组成一个完成的APP

组件模式:可以独立开发业务组件。每个业务组件就是一个APP

 

从组件化工程模型中可以看到,这些业务组件在集成模式下是一个个Library

被APP壳依赖,在组件开发模式下,业务组件变成了一个个application

Andoird 组件化研究

整改过后,所有的模块不再直接引用和依赖,而是通过路由中间站产生联系

 

组件化的具体实施

1、组件模式和集成模式的切换
 

在gradle.properties中定义isMoudle = false属性代表的是是否组件化

在build.gradle中读取isModule

if (isModule.toBoolean()) {
    apply plugin: 'com.android.application'
} else {
    apply plugin: 'com.android.library'
}

2、组件之间AndroidManifest合并问题

写两个AndroidManifest.xml,在build.gradle中作出如下配置:

sourceSets {
        main {
            if (isModule.toBoolean()) {
                manifest.srcFile 'src/main/module/AndroidManifest.xml'
            } else {
                manifest.srcFile 'src/main/AndroidManifest.xml'
            }
        }
    }

3、全局Context的获取及组件数据初始化

 

sourceSets {
        main {
            if (isModule.toBoolean()) {
                manifest.srcFile 'src/main/module/AndroidManifest.xml'
            } else {
                manifest.srcFile 'src/main/AndroidManifest.xml'
                //集成开发模式下排除debug文件夹中的所有Java文件
                java {
                    exclude 'debug/**'
                }
            }
        }
    }

4、library的依赖问题

 

5)组件之间的调用和通信

6)组件之间资源名冲突

 


路由组件的研究