摄像机SDK集成
一、概述
本文主要介绍如何集成Aqara摄像机SDK
二、前提条件
三、功能特性
3.1 主体功能
- 支持Aqara摄像机拉流播放
- 支持Aqara摄像机控制
3.2 SDK大小
依赖库 | 说明 | 大小 |
---|---|---|
摄像机播放 | 播放、P2P | 23.8MB |
摄像机控制、设置 | 各种各样的设置项 | 21.6MB |
其他第三方开源组件 | SDK运行所必须的组件 | 23.9MB |
合计 | - | 69.3MB |
注意:69.3MB为集成SDK最大增量,即第三方App的依赖和SDK的第三方依赖毫无交集时。通常情况下,会小于该值。
3.3 注意事项
摄像机SDK需要宿主App支持Android 13(targetSdk>=33
)
四、集成
4.1 打开Android Studio项目
4.2 编辑app
目录下build.gradle
dependencies {
implementation 'com.lumi.external:core:2.1.9'
//摄像机播放、拉流等功能
implementation 'com.lumi.module:camera:2.6.4'
//摄像机控制、设置项等功能
implementation 'com.lumi.sdk:rmextra:1.0.0'
}
4.3 初始化
注意:现在要求第三方App传入渠道标识(sdkChannel),以便SDK根据标识对某些业务进行处理。详情请查看统一初始化有关的文档(环境搭建),否则某些功能会不正常.
4.4 RxJava统一错误处理
由于摄像机SDK中使用了大量的RxJava,需要在Application中处理相关的异常,否则在某些情况RxJava报错的情况下会导致应用崩溃
override fun onCreate() {
super.onCreate()
RxJavaPlugins.setErrorHandler {
it.printStackTrace()
}
}
4.5 人脸管理的必要配置
允许应用访问系统相册、摄像头数据,用于人脸上传
<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 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" />
</paths>
</resources>
五、代码混淆
-keep class com.lumi.ed.** {*;}
-keep class tv.danmaku.ijk.media.player.** {*;}
-keep class com.p2p.pppp_api.** {*;}