美文网首页
android项目组件化开发

android项目组件化开发

作者: Dirtykk | 来源:发表于2019-07-23 09:46 被阅读0次

一根业务总线讲所有组件个串联起来,其中组件总线相当于主工程(壳工程mudule),而业务组件相当于工程中(mudule/library)

主工程(壳工程mudele):主要负责事情不塞入任何具体业务逻辑,主要用于使用组合业务组件、初始化配置和发布应用配置等操作。

组件(module/library):主要实现具体业务逻辑,尽可能保证业务独立性,例如现在手淘这样一个大型的app几乎每个bu功能块都能够拿出来作为一个独立业务app。但是没有这么大型也可以按照小一些的业务逻辑来区分组件,例如:购物车组件、收银台组件、用户中心组件等,具体更具自己的项目需要来划分。

公共库(library):公共使用的工具类、sdk等库,例如eventbus、xutils、rxandroid、自定义工具类等等,这些库可以做成一个公共common sdk、也可以实现抽离很细按照需求依赖使用。

他们之间的关系则是 主工程依赖组件、组件依赖公共库。

可能出现的问题及解决方案

module与library之间的切换

1.1 在gradle.properties文件中配置一个isPlugin属性 isPlugin=false 然后在业务组件的build.gradle中读取 isPlugin

(ps:gradle.properties 中的数据类型都是String类型,使用其他数据类型需要自行转换)

//toboolean方法是将string数据转换成boolean数据的方法

if (isPlugin.toBoolean()) {

    apply plugin: 'com.android.application'

} else {

    apply plugin: 'com.android.library'

}

1.2 library是不需要包名的 所以需要对这个判断处理 也是在build.gradle中进行配置

  defaultConfig {

        if (isPlugin.toBoolean()){

            applicationId 'com.example.rspluginmodule'

        }

    ....

    }

1.3 修改AndroidManifest.xml,因为library、module的主配置文件是有区别 

在main文件家中创建release文件夹然后拷贝一份AndroidManifest.xml进入release文件夹,那么发布模式下使用的就是release文件夹下面的AndroidManifest.xml,而开发模式下用的就是默认的AndroidManifest.xml,这样就要对release文件夹下面的AndroidManifest.xml进行修改因为开发模式下release文件夹下面是用来给library使用的。

最后在build.gradle中进行配置

  sourceSets {

        main {

            if (isPlugin.toBoolean()){

                manifest.srcFile 'src/main/AndroidManifest.xml'

            }else {

                manifest.srcFile 'src/main/release/AndroidManifest.xml'

            }

        }

    }

业务组件间的相互跳转 可以使用隐式意图筛选器

组件间的通讯问题  因为是不同的module属于不同的线程 所以需要使用到aidl 跨进程通信

相关文章

  • android 组件化

    Android组件化项目地址:Android组件化项目AndroidModulePattern Android组件...

  • android之组件化

    组件化博客——优秀详解文章 Android组件化项目地址:Android组件化项目AndroidModulePat...

  • 「 Android组件化 」——完整方案(终极版)

    Android组件化项目地址:Android组件化项目AndroidModulePattern[https://g...

  • Android组件化方案

    Android组件化项目地址:Android组件化项目AndroidModulePattern[https://g...

  • Android组件化开发方案

    1. Android组件化开发 在Android项目组件化之前,我们的项目都是像下图那样,一个单一工程下,根据不同...

  • 我的WanAndroid App发布

    简介 该项目用了玩Android网站提供的API进行开发而成;项目基于组件化 + Arouter + MVVM +...

  • Android 组件化开发实践

    Android组件化开发实践(一):为什么要进行组件化开发?Android组件化开发实践(二):组件化架构设计An...

  • kotlin完成的项目

    项目是基于kotlin写的: Android 端: 1.使用组件化模块开发基于阿里ARouter封装的组件路由调用...

  • Android组件化开发实践

    下一篇:Android组件化开发案例(融合数10个项目模块) 目录介绍 1.为什么要组件化1.1 为什么要组件化1...

  • Kotlin总结

    kotlin完成的项目 项目是基于kotlin写的: Android 端: 1.使用组件化模块开发基于阿里ARou...

网友评论

      本文标题:android项目组件化开发

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