51 行
1.1 KiB
Markdown
51 行
1.1 KiB
Markdown
# AndroidLibs Architecture
|
|
|
|
## 目标结构
|
|
|
|
```text
|
|
AndroidLibs/
|
|
├── commonsdk-core/
|
|
├── commonsdk-compose/
|
|
├── lib-szyx/
|
|
├── sample-app/
|
|
├── plugins/
|
|
│ └── plugin-ui/
|
|
└── docs/
|
|
```
|
|
|
|
## 设计说明
|
|
|
|
### commonsdk-core
|
|
|
|
- 提供与业务无关的基础能力
|
|
- 包含多 BaseUrl Retrofit 封装
|
|
- 提供共享缓存 `SharedCacheManager`
|
|
- 提供插件安装、启动、版本比较 `PluginPackageManager`
|
|
- 提供 App 下载与安装 `AppUpdater`
|
|
|
|
### commonsdk-compose
|
|
|
|
- 提供 Compose 组件
|
|
- 当前包含基础卡片与手风琴组件
|
|
|
|
### lib-szyx
|
|
|
|
- 承载项目专属登录逻辑
|
|
- 登录接口、签名算法、业务 Header 均来自 `LibsDemo`
|
|
- 登录成功后本地持久化,并同步写入共享缓存
|
|
- 插件端支持从宿主共享缓存读取登录态
|
|
|
|
### sample-app
|
|
|
|
- 宿主示例
|
|
- 打开 `lib-szyx` 登录页
|
|
- 缓存当前用户并启动 `plugin-ui`
|
|
- 演示插件下载与 App 更新下载
|
|
|
|
### plugins/plugin-ui
|
|
|
|
- 独立 APK 插件
|
|
- 支持单独安装运行
|
|
- 支持宿主启动时读取共享登录态
|
|
- 支持再次打开 `lib-szyx` 登录页并更新共享会话
|