Matter垂直品类SDK集成

一、概述

本文主要介绍如何集成Matter垂直品类SDK

二、前提条件

  1. 确认完成准备工作
  2. 确认完成环境搭建

三、功能特性

3.1 主体功能

  1. 支持Aqara Matter中枢配网
  2. 支持Aqara Matter中枢设备控制
  3. 支持Matter子设备配网
  4. 支持Matter子设备控制

PS:当前Matter子设备无法直接通过SDK配网接入,需要借助Aqara Matter中枢(使用Aqara私有协议Magic Pair配网)进行接入后,才可以进行设备配网与控制

3.2 SDK大小

依赖库 说明 大小
React Native(0.63.4) React Native框架 10MB
Aqara桥接层 SDK运行所必须的组件 24MB
其他 SDK运行所必须的组件 14MB
合计 - 48MB

注意:48MB为集成SDK最大增量,即第三方App的依赖和SDK的第三方依赖毫无交集时。通常情况下,会小于该值。

3.3 兼容性信息

Matter SDK需要最新版本的编译工具及编译环境,以下是您必须满足的条件:

支持的Android版本

参数 版本号 描述
minSdkVersion 26 Android 8
targetSdkVersion 34 Android 14
compileSdk 34 Android 14

编译工具&环境

参数 最低版本号要求 描述
Android Studio Version 2024.3.1 非必要
Android Gradle Plugin Version 8.7 非必要
Gradle Version 8.9 必要
JDK Version 17 必要
NDK Version 27.0.12077973 非必要
Kotlin Version 2.1.0 必要
SDK Build Tools 34.0.0 必要

注意:不满足条件,Demo或者SDK无法正常工作。

3.3.1 新项目创建

如果您是新项目,可按照上述要求,下载最新版本的Android Studio(2024.3.1)创建新项目即可。

3.3.2 老项目升级

如果您是老项目,升级Kotlin版本至2.0后,可能会对您的代码或者业务产生影响。以下是一些可供参考的官方文档:

附录1: Google官方文档-Android Studio与AGP的版本关系

附录2: Google官方文档-AGP升级指引

附录3: Google官方文档-Kotlin升级指引

附录4: Gradle官方文档-Gradle版本与Kotlin版本的对应关系

四、集成

4.1 安装Node

集成Matter SDK之前,需要先安装React Native相关的依赖项,否则无法编译、打包。建议创建新的分支进行集成。

依赖库 版本要求
Node.js >=14

如需获取更多关于React Native的资料,请参考React Native官方指引

4.1.1 macOSm

我们推荐使用Homebrew来安装Node:

安装Node

brew install node

4.1.2 windows

我们建议通过Chocolatey安装Node:

安装Node

choco install -y nodejs-lts

注意:如果你已经安装了Node,Node的版本应大于等于14

4.2 配置Matter SDK的Node依赖项

4.2.1 在项目根目录下创建package.json

在Android项目的根目录下,创建package.json文件,并复制下面的内容到文件中

{
  "name": "rn_demo_0614",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.11.0",
    "lodash": "^4.17.15",
    "prop-types": "^15.7.2",
    "react": "17.0.1",
    "react-native": "0.63.4",
    "react-native-gesture-handler": "^1.5.2",
    "react-native-reanimated": "^1.4.0",
    "react-native-root-toast": "^3.2.0",
    "react-native-screens": "^1.0.0-alpha.23",
    "react-navigation": "^4.0.10",
    "react-redux": "^7.1.3",
    "redux": "^4.0.4",
    "redux-logger": "^3.0.6",
    "redux-thunk": "^2.3.0",
    "reselect": "^4.0.0"
  },
  "devDependencies": {
    "@babel/core": "7.7.4",
    "@babel/runtime": "7.7.4",
    "@react-native-community/eslint-config": "2.0.0",
    "babel-jest": "26.6.3",
    "eslint": "7.16.0",
    "jest": "26.6.3",
    "jetifier": "^1.6.5",
    "metro-react-native-babel-preset": "0.64.0",
    "react-navigation-stack": "^1.10.3",
    "react-test-renderer": "17.0.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

4.2.2 在项目根目录下运行命令,下载相关依赖项

通过终端执行以下命令,该命令会通过package.json下载对应的依赖,并在项目根目录生成node_modules文件夹

npm install --legacy-peer-deps

4.3 集成Matter SDK

4.3.1 编辑目录下build.gradle 或者 settings.gradle

repositories {
    maven {
      url "$rootDir/node_modules/react-native/android"
    }
}

4.3.2 编辑app目录下build.gradle

dependencies {
    //统一初始化,请注意使用最新版本
    implementation 'com.lumi.external:core:2.1.69'
    implementation 'com.lumi.commonui:ui:1.4.105'
    //Matter SDK,请注意使用最新版本
    implementation 'com.lumi.sdk:reactnative:4.5.7'
    //Matter 配网SDK,请注意使用最新版本
    implementation 'com.lumi.module.access:access:3.4.127'
    implementation 'com.lumi.module.smart_connect:connect:3.4.127'
    //Thread 相关
    implementation 'com.lumi.api:thread:1.0.21'
}

4.3 初始化

4.3.1 统一初始化

参见环境搭建-统一初始化

五、代码混淆

-dontwarn com.facebook.**
-keep class com.facebook.** { *; }
lumi LogoCopyright © 2023 深圳绿米联创科技有限公司 all right reserved,powered by Gitbook文档修改时间: 2025-10-27 16:56:31

results matching ""

    No results matching ""