Android架构师-组件化-组件化项目部署2

本文探讨组件化项目的意义,包括提升开发效率、团队协作及项目灵活性。介绍组件化与集成化开发的区别,演示如何使用Gradle搭建组件化环境,以及在不同模式下动态切换的技巧。

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

组件化项目部署

学习目录

一:组件化项目的意义:

面试技巧:资历够了,如何在最短时间打动面试官?全是组件化开发

开发需求:不相互依赖,可以项目销户,任意组合,高度解耦

团队效率:分模块打包,测试,统一版本管理(每个模块都能进行版本管理)

我们看下大公司的:

组件化可以将所有模块进行高度隔离 ,比如说在订单模块中调用了我的内容/信息

可以任意将两个模块组装成一个新的app

不互相依赖,但是可以相互销户

二:Phone Moudule 和 Android Library 区别,切换

 

三:新建common公共库,order订单,personal个人信息库

common公共库 用来管理公共库

例如下图

order订单库 管理订单信息

personal个人信息库

 

四:Gradle搭建组件化项目环境

在app的build.gradle中,添加公共库依赖

 implementation project(':common') // 公共基础库

    // 如果是集成化模式,做发布版本时。各个模块都不能独立运行了
    if (isRelease) {
        implementation project(':order')
        implementation project(':personal')
    }

 

五:集成式模块化开发,组件化模式开发

首先我们要了解 什么是集成式模块开发  什么是组件化模块开发

集成式模块开发:

1:打包整个项目apk,子模块不可以独立运行

2: moudle的build.gradle是library

apply plugin: 'com.android.library'

组件化模块开发:

1:子模块可以独立运行 

2:每个组件的build.gradle都是application

apply plugin: 'com.android.application'

整个控制器在项目的config.gradle中

ext {

    // 定义一个项目全局变量isRelease,用于动态切换:组件化模式 / 集成化模式
    // false: 组件化模式(子模块可以独立运行),true :集成化模式(打包整个项目apk,子模块不可独立运行)
    isRelease = false

//省略...
}

Gradle搭建组件化项目环境

组件化开发规范:

 

Phone Moudle 和 Android Library 可以动态切换  通过gradle来配置

 

六:组件化开发的临时代码,集成化打包时动态隔离

 

如果配置资源路径,方便测试环境,打包的时候不集成到正式环境

    // 配置资源路径,方便测试环境,打包不集成到正式环境
    sourceSets {
        main {
            if (!isRelease) {
                // 如果是组件化模式,需要单独运行时
                manifest.srcFile 'src/main/debug/AndroidManifest.xml'
            } else {
                // 集成化模式,整个项目打包apk
                manifest.srcFile 'src/main/AndroidManifest.xml'
                java {
                    // release 时 debug 目录下文件不需要合并到主工程
                    exclude '**/debug/**'
                }
            }
        }
    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值