Android 组件化实战二: 项目部署

本文是Android组件化实战系列的第二篇,主要讲述组件化项目的部署过程,包括Phone Module与Android Library的区别、组件化环境的搭建、模块间的切换策略,以及集成化与组件化开发模式的实践。内容涵盖了如何处理模块的资源和AndroidManifest,以及在不同模式下动态隔离临时代码的方法。
摘要由CSDN通过智能技术生成

Android 组件化实战一: Gradle基础语法
Android 组件化实战二: 项目部署
Android组件化实战三: 模块之间的交互
Android组件化实战四: APT的介绍与使用
Android组件化实战五: APT的高级用法JavaPoet
Android组件化实战六:路由架构设计

前言

组件化项目的意义主要体现在这几个方面,首先就是面试的时候,如果简历上写了三五年的工作经历,但是被问到组件化的相关原理答不上来,确实说不过去。在开发需求层面,即不相互依赖、又可以相互交互、任意组合、高度解耦;在团队开发层面,可以分模块打包、测试,统一版本管理,大大提高效率。
在这里插入图片描述

  • 编译速度:我们可以按需测试单一模块极大提升了开发速度
  • 超级解耦:极度降低了模块之间的耦合,便于后期维护与更新
  • 功能重用:某一模块的功能在另外的组件化项目中使用只需要单独依赖这一模块即可
  • 便于团队开发:组件化架构师团队开发必然会选择的一种开发方式,它能有效的使团队更好的协作

Phone Module和Android Library区别、切换

在这里插入图片描述

新建common公共库、order订单库、personal个人信息库

这里为了便于演示,新建Phone Module 的order和Android Library的personal,在组件化部署中如何进行切换

有了上一篇文章的分析,我们知道可以将各个子模块build.gradle文件中的公共属性抽取出来到单独的gradle文件config.gradle文件,在项目根目录下的build.gradle头部加入自定义config.gradle,apply from: “config.gradle”,相当于layout布局中加入include语法

// 添加多个自定义属性,可以通过ext代码块
ext{
   
    /**
     * 定义一个项目全局变量isRelease,用于动态切换:组件化模式 / 集成化模式
     * false: 组件化模式(子模块可以独立运行),
     * true :集成化模式(打包整个项目apk,子模块不可独立运行)
     */
    isRelease = false

    // 建立Map存储,对象名、key都可以自定义,groovy糖果语法,非常灵活

    androidId = [
            compileSdkVersion: 29,
            buildToolsVersion: "29.0.3",
            minSdkVersion    : 21,
            targetSdkVersion : 29,
            versionCode      : 1,
            versionName      :
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值