- 这几年一直忙去项目和家庭,作为快开发10年工程师,经历了移动最辉煌的时代,也经历低落的时段,做过了几万用户-百万等等无数项目,也许将要面临转行等等,在疫情这次大灾难下,让我深深感受我们身处了一个幸福的时代,我们不应该敢于平庸,不能随波逐流,才把最近几年项目中组件化、插件化、热更新、路由、mvp、插拔式服务都会慢慢开源出来,项目代码开源https://gitee.com/applehsp/AndroidHspDemo,model分支,欢迎大家点星,多多评论、多多开源提交建议,支持kotlin、androidx,版主也在学flutter和ios,会分享一些新的博客,网络库地址:
com.applehsp.http:AppleHttpJava:1.0.0,mvp地址依懒com.applehsp.mvp:MvpKotlin:1.0.7。
-
模块独立运行
组件化就是模块分离,模块工程可以独自编译和运行, 首先是清单文件androidmanifest.xml分离,目前大多实现思路无非两套方案:
1.在build.gradle中通过gradle.properties中定义一个变量,然后控制是否模块(com.android.library)或者app(com.android.applicaito),然后在app工程build.gradle中动态控制添加类库方式。
2.我的方案通过groovy做一个插件,然后每个工程gradle.properties中RunAlone属性是否运行模块标记,mainmodulename标记主工程标记,如果是app主工程标记运行,脚本过滤非模块动态添加类库。
project.dependencies.add("api", project.project(':' + taskPro.name))
插件源码是 com.model.buildgradle:model-plugin,已发布到jenter,源码地址https://github.com/apple317/Mod