# AndroidLibs 一个面向开源的 Android 插件化项目基线,包含宿主 App、业务插件以及可复用的基础 SDK。 ## 模块结构 - `commonsdk-core`: SDK 核心,承载网络、下载、文件、权限、缓存、日志、全局弹窗、设备与时间等基础能力。 - `commonsdk-compose`: Compose 扩展组件,提供下拉刷新、折叠面板、滑动操作、WebView、图片等业务可复用组件。 - `commonsdk-update`: 更新 SDK,独立承载 APK 更新、插件更新、版本比较与安装编排。 - `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` - `DownloadManager / FileHelper` - `PermissionManager / GlobalCache / Logger / DialogCenter` - `commonsdk-update` 提供: - `UpdateSDK` - `PluginPackageManager` - `AppUpdater` - `lib-szyx` 提供: - `SzyxSDK` - `AuthApi / AuthRepository` - `BusinessHeaderInterceptor` - `SzyxLoginActivity`