安装与初始化
安装与初始化
以 Demo 工程搭建为例(IDE 为 Android Studio),介绍 OpenSDK 对接过程。压缩包见 资源下载 的 Android SDK 行。
步骤
OpenSDK 安装
- 下载 Android OpenSDK 压缩包解压。
- 拷贝
libs/LCOpenSDK.aar文件到自己工程对应的目录下。
配置 AndroidManifest
在 AndroidManifest.xml 中设置相关权限:
<!-- 基础权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 配网所需权限 -->
<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.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 对讲所需权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
请务必设置相关权限,否则可能导致某些失败:未开启语音权限将导致对讲失败;未开启读写权限导致录像下载失败,无线配网无声音且配网失败等。
配置 build.gradle
在 app 的 build.gradle 中按需要选择兼容的架构:
android {
…
defaultConfig {
…
ndk{
abiFilters "armeabi","arm64-v8a"//开发者根据实际情况选择要兼容的架构
}
}
}
OpenSDK 初始化
LCOpenSDK_Api 是 SDK 内部与开放平台进行 rest 交互的封装类,应作为第一个调用的接口,在调用其他接口前进行初始化和设置参数。
//初始化LCOpenSDK_Api
String token = "";//开发者自己去平台请求accessToken
String host = "openapi.lechange.cn:443";//host无需带协议类型
InitParams initParams = new InitParams(this, host, token);
try {
int iRet = LCOpenSDK_Api.initOpenApi(initParams);
} catch (Throwable throwable) {
throwable.printStackTrace();
}
OpenSDK 初始化需要开发者先自行向开放平台获取 Token:获取管理员 token 或者 获取子账号 Token。
若项目使用了设备添加模块,LCDeviceEngine 的 init 已包含 LCOpenSDK_Api.setHost,不必再次调用 setHost()。调用示例在 示例工程。
日志级别
- 调用
LCOpenSDK_Utils.enableLogPrint()开启或关闭 SDK 内部日志打印。 - 调用
LCOpenSDK_Util.setLogLevel()设置日志级别:0 fatal,1 error,2 warning,3 info,4 debug。
排查 SDK 内部问题时,可以调整日志级别做问题复现和日志抓取。