58 行
1.6 KiB
Markdown
58 行
1.6 KiB
Markdown
# AndroidLibs
|
|
|
|
一个面向开源的 Android 插件化项目基线,包含宿主 App、业务插件以及可复用的基础 SDK。
|
|
|
|
## 模块结构
|
|
|
|
- `commonsdk-core`: SDK 核心,承载网络、共享缓存、插件管理、App 更新、设备信息与时间工具。
|
|
- `commonsdk-compose`: Compose 扩展组件。
|
|
- `lib-szyx`: 项目专属 SDK,承载真实登录接口、签名、业务 Header 与会话管理。
|
|
- `sample-app`: 示例宿主应用。
|
|
- `plugins/plugin-ui`: UI 演示插件,可独立运行,也可被宿主拉起。
|
|
- `docs`: 方案文档。
|
|
|
|
## 技术基线
|
|
|
|
- JDK 21
|
|
- AGP 9.1.0
|
|
- Kotlin 2.3.10
|
|
- Compose BOM 2026.03.00
|
|
|
|
## Nexus
|
|
|
|
- 依赖拉取仓库:`https://nexus.xuqinmin.com/repository/android/`
|
|
- Snapshot 上传:`https://nexus.xuqinmin.com/repository/android-snapshot/`
|
|
- Release 上传:`https://nexus.xuqinmin.com/repository/android-hosted/`
|
|
|
|
发布账号请放入本地 `local.properties` 或环境变量,不要提交到仓库。
|
|
|
|
## 发布配置
|
|
|
|
建议在 `local.properties` 中提供:
|
|
|
|
```properties
|
|
nexus.username=your-username
|
|
nexus.password=your-password
|
|
```
|
|
|
|
然后执行:
|
|
|
|
```bash
|
|
./gradlew publish
|
|
```
|
|
|
|
## 当前实现重点
|
|
|
|
- `sample-app` 与 `plugin-ui` 共享 `commonsdk-core / commonsdk-compose / lib-szyx`
|
|
- 登录接口和签名逻辑参考 `LibsDemo` 中现有实现
|
|
- `commonsdk-core` 提供:
|
|
- `HttpManager / RetrofitManager`
|
|
- `SharedCacheManager / SharedCacheProvider`
|
|
- `PluginPackageManager`
|
|
- `AppUpdater`
|
|
- `lib-szyx` 提供:
|
|
- `SzyxSDK`
|
|
- `AuthApi / AuthRepository`
|
|
- `BusinessHeaderInterceptor`
|
|
- `SzyxLoginActivity`
|