模块化
含义: app包中按模块创建不同的包进行开发
优势: 模块内部可以相互引用使用方便,开发快适合小项目
缺点:编译耗时,多人开发打包需要多人都处理完了才能编译完成
组件化
含义 项目下创建不同的model组件包进行不同业务模块的开发
优势:只需要编译需要的组件,编译比较快,大多数组件化的都是aar,大型项目尤为明显、便于团队开发
劣势:组件与组件之间掉用有中间成本
插件化
含义 把不同的业务模块打包成不同的apk 根据不同的需要apk从网络上下载对应的apk进行加载运行
javac 编译好的class文件
dex.dex 编译成 dex
javac->dex.bat->dex java --javac --annotation (APT注解处理器生成代码)--->class ---dex.bat/androidmanifest/assert/so-- --->DEX