Andoird 组件化研究

本文围绕Android组件化展开,介绍了组件模式和集成模式,前者可独立开发业务组件,后者由业务组件与APP壳工程组成完整APP。还阐述了组件化具体实施,包括模式切换、AndroidManifest合并、全局Context获取等问题,最后提及路由组件的研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

ç»ä»¶åå·¥ç¨æ¨¡å

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

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

 

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

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

ç»ä»¶åå·¥ç¨ä¸çä¸å¡å³ç³»

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

 

组件化的具体实施

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)组件之间资源名冲突

 


路由组件的研究

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值