Calces实现

司空皓
2023-12-01

1.模块化:
每个module都是一个library不能独立运行
2.组件化:
每个module都是一个组件(application)可以独立运行->模块化测试;
按照业务拆分->商城;用户;社区;资讯
3.模块化与组件化的区别;
模块化不能独立运行组件化可以独立运行
4.Calces配置组件化:
自动化构建module-.组合不同应用程序
5.Calces如何使用:
官网地址:https://github.com/Tangpj/calces-gradle-plugin
a.添加calces插件:
plugins {
id “calces.modules” version “1.0.11”
}
b.修改module 下gradle文件插件
c,项目下的gradle文件中配置项目中的组件

//模块化
apply plugin: 'calces.modules'
//组件化
apply plugin: 'com.android.library'

如果是高版本的androidstudio的话要降版本
将gradle——wrapper.properties中的distributionUrl降为4.4

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

然后在Project的build.gradle中将classpath 降为3.1.4同时添加

buildscript {
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
plugins {
    id "calces.appconfig" version "1.0.11"
}//calces组件化配置
appConfig{
    //debug测试模式->开发阶段为true->各个子模块单独运行测试
    debugEnable true
    //组件化架构中,第三层不同业务路基组件
    apps{
        app{
            modules ':news',':user'
        }
    }
    modules{
    //这些是根据你写的module 你的modules写的是什么这里就写什么
        //新闻资讯
        news {
            name ':news'
            mainActivity ".MainActivity"//主类
            applicationId "com.example.news"//包名
            isRunAlone true
            //是否可以单独运行
        }
        //用户
        user {
            name ':user'
            mainActivity ".MainActivity"
            applicationId "com.example.user"
            isRunAlone true
            //是否可以单独运行
        }
    }
}

如果遇到AAPT2 error: check logs for details的错
在gradle.properties中添加

android.enableAapt2=false

记得将moduels中的android下的applicationId删除 app的不用

 类似资料: