Android IMLib 导入
本页说明 Android 端 IMLib 的依赖、制品与集成要求。Maven 坐标 io.nipaas:imlib / io.nipaas:imkit 对应源码模块 sdk/android/imlib、sdk/android/imkit;仓库内联调可用 include(":imlib") 源码集成。
安装 / 依赖
Gradle(Kotlin DSL)
// app/build.gradle.kts
dependencies {
implementation("io.nipaas:imlib:1.0.0") // IMLib:无 UI 通信库
implementation("io.nipaas:imkit:1.0.0") // 可选:IMKit UI 组件
}发行包不可用时如何集成
Maven 私服不可用时,把 IMLib/IMKit 作为本地模块:在 settings.gradle 中 include 模块,并用 implementation project(':imlib') 引用。
IMKit 只依赖 IMLib 公开 API;宿主不要跳过 IMKit 直接改协议层。
环境要求
| 项 | 要求 |
|---|---|
| 语言 / 运行时 | Kotlin 1.9+,JDK 17 |
| 系统版本 | minSdk 26(Android 8.0),compileSdk 34 |
| 构建工具 | AGP 8.x / Gradle 8.x |
| 网络权限 | INTERNET、ACCESS_NETWORK_STATE 由 SDK manifest 自动合并 |
| 混淆 | consumer-rules.pro 随 AAR 自动合并,宿主一般无需手写 |
| 通知权限 | Android 13+ POST_NOTIFICATIONS 为运行时权限,由宿主申请 |
包内容
| 制品 | 路径 / 名称 | 说明 |
|---|---|---|
| IMLib 包 / 模块 | io.nipaas.imlib / io.nipaas.imkit | 核心通信库(连接、消息、会话、群组、好友、聊天室、上传) |
| IMLib 源码 / 制品 | imlib | 随发行包提供的源码 / 制品(内联调可源码集成) |
| IMKit 制品 | imkit | 可选 UI 组件层,只依赖 IMLib 公开接口 |
| 契约声明面 | api-surface.json | 供零漂移校验的契约声明面 |
| Demo 工程 | demo/android | 可运行示例(含连接、会话、聊天页) |
版本与兼容
- 契约版本:IDL v1.0.0(frozen,冻结修订 35)。
- v1.x 采用 additive-only:仅新增可选字段、枚举值、接口与错误码,不破坏既有语义。
- 升级时先对照「更新日志」确认新增面,再回归连接、消息、会话与群组主链路。
- 当前平台绑定状态:
in-progress。