摄像机垂直品类SDK集成

一、概述

本文主要介绍如何集成摄像机垂直品类 SDK。

二、前提条件

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

三、功能特性

3.1 主体功能

  1. 支持 Aqara 摄像机配网
  2. 支持 Aqara 摄像机实时预览、回放、双向语音等播放能力
  3. 支持 Aqara 摄像机控制与设置

3.2 SDK大小

依赖库 说明 大小
摄像机播放 播放、P2P 约 24MB
摄像机控制、设置 设置项与控制能力 约 22MB
其他第三方开源组件 SDK 运行所必须的组件 约 24MB
合计 - 约 70MB

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

3.3 支持设备品类

详情查看摄像机SDK支持设备清单

3.4 编译环境要求

参数 版本号 描述
minSdkVersion 26 Android 8.0
targetSdkVersion 36 建议与示例工程保持一致
Java 17 /

四、集成

4.1 打开 Android Studio 项目

4.2 编辑app目录下build.gradle

在完成环境搭建后,补充摄像机及相关依赖:

dependencies {
    // Core / CommonUI(环境搭建中已引入)
    implementation 'com.lumi.external:core:2.2.62'
    implementation 'com.lumi.commonui:ui:1.5.33'

    // 配网 SDK(摄像机入网需要)
    implementation 'com.lumi.module.access:access:3.5.82'
    implementation 'com.lumi.module.smart_connect:connect:4.0.37'
    implementation 'com.lumi.module:scanQR:1.0.14'
    implementation 'com.lumi.module:devicekit:1.0.23'

    // 摄像机 SDK
    implementation 'com.lumi.sdk:camera:3.2.584'

    // 设备控制 / 路由 / 设置
    implementation 'com.lumi.sdk:rmextra:2.0.10'
    implementation 'com.lumi.sdk:device-router:1.0.10'
    implementation 'com.lumi.sdk:module-setting:2.0.35'
}

版本号请以示例工程或SDK最新版本为准。集成多业务 SDK 时,建议同步配置 packagingOptions 与 zxing 冲突排除,参见环境搭建

建议同步配置:

android {
    packagingOptions {
        jniLibs {
            pickFirsts += ['lib/arm64-v8a/libc++_shared.so', 'lib/armeabi-v7a/libc++_shared.so']
        }
    }
}

configurations.configureEach {
    exclude group: 'com.google.zxing', module: 'core'
}

4.3 编辑AndroidManifest.xml

声明摄像机业务常用权限(部分权限也可能由 SDK AAR 自动合并):

<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<!-- 存储权限(截图、录像保存) -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!-- 蓝牙 / 定位权限(配网使用) -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<!-- 麦克风权限(双向语音) -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />

人脸管理、图片分享等能力需要配置 FileProvider

<application>
    ...
    <provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="${applicationId}.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/lm_rm_extra_file_paths" />
    </provider>
</application>

res/xml/lm_rm_extra_file_paths.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths>
        <cache-path path="" name="camera_photos"/>
        <external-path path="" name="camera_photos" />
        <files-path path="" name="camera_photos" />
        <root-path path="" name="camera_photos" />
        <external-files-path name="share_files" path="."/>
    </paths>
</resources>

4.4 初始化

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

摄像机入网前请确保已正确配置:

  • positionInfo(家庭 / 位置 ID)
  • coapServer(与当前服务地区匹配的设备入网域名)
  • country / area / supportDeviceArea(建议先确定 country 再反查,参见地区对照表
  • sdkChannel(渠道标识,部分设置能力依赖该参数)

4.5 RxJava 统一错误处理

摄像机 SDK 中使用了大量 RxJava,建议在 Application 中统一处理未捕获异常,避免个别异常导致应用崩溃:

override fun onCreate() {
    super.onCreate()
    RxJavaPlugins.setErrorHandler {
        it.printStackTrace()
    }
}

五、代码混淆

-keep class com.lumi.ed.** {*;}
-keep class tv.danmaku.ijk.media.player.** {*;}
-keep class com.p2p.pppp_api.** {*;}
-keep class com.lumi.rm.** {*;}
lumi LogoCopyright © 2023 深圳绿米联创科技有限公司 all right reserved,powered by Gitbook文档修改时间: 2026-08-11 17:06:15

results matching ""

    No results matching ""