-
Notifications
You must be signed in to change notification settings - Fork 1.1k
android Sample 目录结构
tfc edited this page Aug 31, 2017
·
5 revisions
宿主中不要放业务逻辑。只做加载插件以及调起主插件的操作。
- 把各个 第三方库 拆出来做成一个个lib.*插件模块,包括统计、地图、网络、图片等库。
- 把老项目积累的 业务公共代码 (utils)分离出来封装成一个lib.utils插件
- 把基础的样式、主题分离出来封装成一个lib.style插件
- 把业务模块拆成app.*模块,他们可以依赖lib.*模块,显示调用lib.*中的各个API
- 相对独立的业务模块先拆,比如“详情页”、“关于我们”,如果剩下的业务不好拆,先放一个插件里
- 如果都不好拆,先把全部业务做成一个app.main主插件
宿主分身模块要求以 app+ 格式命名,他们将被宿主、lib.、app. 模块自动依赖并允许这些模块透明地访问自己的代码或者资源。需要注意的是,分身模块最终是并入到宿主的而非插件,建议使用分身的情形有*
- 必须在宿主占坑的manifest,包括:
- 受限 Activity
-
- 包含了暂不支持的属性:process, configChanges 等
-
- 可能使用 FLAG_ACTIVITY_CLEAR_TOP 标签来启动 (#415)
- 任何 Provider, Service, BroadcastReceiver 必须在宿主占坑的资源,包括:
-
- 转场动画
-
- 通知栏图标、自定义视图
-
- 桌面快捷方式图标
-
- 确信稳定的公共库与资源
- lib.style - 公共主题
- lib.utils - 公共API、公共控件
- lib.analytics - 第三方统计
- app.main - 主插件
- app.home - 首页
- app.detail - 详情页
- app+stub - 占坑组件、资源 宿主分身全部的 app lib 默认引用
来自 #207