美文网首页
Android组件化

Android组件化

作者: Just____ | 来源:发表于2021-04-15 17:52 被阅读0次

    一、什么是组件化

    二、组件化的实现

    三、组件化需要注意的问题

    1. 模式切换

    如何在app与lib之间切换,同时支持单体调试和整体打包两种模式,
    一般采取自定义变量控制,分别控制apply pluginmainfest.scrfile,如下图:

    if (isModuleRun.toBoolean()) {
        apply plugin: 'com.android.application'
    } else {
        apply plugin: 'com.android.library'
    }
    
    ### 单Module运行需要配置
    sourceSets {
            main {
                if (isModuleRun.toBoolean()) {
                    manifest.srcFile 'src/main/debug/AndroidManifest.xml'
                } else {
                    manifest.srcFile 'src/main/AndroidManifest.xml'
                    java {
                        //全部Module一起编译的时候剔除debug目录
                        exclude '**/debug/**'
                    }
                }
            }
        }
    

    2. 资源冲突

    约束为主、规范为辅
    各module需要指定唯一命名前缀,避免出现重名冲突的情况。
    module的 build.gradle 中通过 resourcePrefix “xxx_可以强行检查资源名称前缀
    但该配置只能对xml资源起作用,无法检查图片资源

    3. 组件通信

    各module相互独立,组件之间如何跳转和通信?
    跳转: 可以借助阿里开源的ARouter框架:阿里巴巴ARouter基本使用方法

    通信:
    组件间通信一般有两种方式:基于事件和基于接口协议
    基于事件:EventBus、广播等
    基于接口协议:在modules下层建立base Module,制定相应的通信协议,上层module分别负责实现和引用

    相关文章

      网友评论

          本文标题:Android组件化

          本文链接:https://www.haomeiwen.com/subject/fkcjlltx.html