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的不用