# NixMsg Java / Android SDK 坐标:`asia.asio.nixmsg:nixmsg-sdk` 包名:`asia.asio.nixmsg` 字节码目标:Java 8(`maven.compiler.release=8`) 接口:`CompletableFuture` ## Android 最低 API **24**。MQTT 长连接由应用自行放入**前台服务**,SDK 不创建也不托管服务生命周期。 ## 依赖 Maven / Gradle 仓库: ``` https://git.asio.asia/api/packages/nixevol/maven ``` ```xml asia.asio.nixmsg nixmsg-sdk 0.1.0 ``` HiveMQ MQTT Client(WebSocket:`webSocketConfig` + `netty-codec-http`)。 ## 最小示例 ```java Client c = new Client(); c.onSession(token -> { /* 应用保存 */ }); c.onMessage(msg -> System.out.println(msg.id + " " + msg.body.data)); c.connect("ws://127.0.0.1:7443/mqtt", "device-1", "secret", null) .thenCompose(v -> { Types.SendOptions opt = new Types.SendOptions(); opt.delayMs = 0L; return c.send(new Types.Target("endpoint", "device-2"), new Types.Body("hello"), opt); }) .join(); c.close(); ``` 命令行示例类:`asia.asio.nixmsg.examples.MinimalExample`。 ## 打包(不发布) ```bash mvn package -DskipTests # 产物 target/nixmsg-sdk-0.1.0.jar;勿部署到 Maven 仓库;正式发布由总控在阶段 3 执行 ``` 确认字节码为 8:`javap -v target/classes/asia/asio/nixmsg/Client.class | findstr major`(应为 52)。 ## 测试 ```bash mvn test ``` 含假传输单元测试与 DEVELOPMENT 第 9 节接入清单(会编译并启动真实 `nixmsg`)。可用环境变量 `NIXMSG_BIN` 指定已编译二进制。跳过仅 JS 的跨域项。 ## 许可证 见 `LICENSE`(Proprietary)。