目录
第三步:集成安全图片和设置 Appkey 和 AppSecret
本文我将为大家介绍如何将安卓版涂鸦 智能生活 App SDK 集成到自有的开发环境中,例如 Android Studio,并介绍初始化方法以及如何启用调试模式。
然后,大家可以尝试运行 Demo,快速上手全屋智能移动应用开发。
前提条件
- 如果还未安装 Android Studio,请访问安卓官网进行下载安装。
集成 SDK
第一步:创建 Android 工程
在 Android Studio 中新建工程。
第二步:配置 build.gradle 文件
在安卓项目的 build.gradle
文件里,添加集成准备中下载的 dependencies
依赖库。
android {
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
packagingOptions {
pickFirst 'lib/*/libc++_shared.so' // 多个 AAR(Android Library)文件中存在此 .so 文件,请选择第一个
}
}
dependencies {
implementation 'com.alibaba:fastjson:1.1.67.android'
implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.14.9'
// App SDK 最新稳定安卓版:
implementation 'com.tuya.smart:tuyasmart:4.0.0'
}
在根目录的 build.gradle
文件,中增加涂鸦 Maven 仓库地址,进行仓库配置。
repositories {
jcenter()
maven { url 'https://maven-other.tuya.com/repository/maven-releases/' }
maven { url "https://maven-other.tuya.com/repository/maven-commercial-releases/" }
maven { url 'https://jitpack.io' }
google()
mavenCentral()
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'http://central.maven.org/maven2/' }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
maven { url 'https://developer.huawei.com/repo/' }
}
}
第三步:集成安全图片和设置 Appkey 和 AppSecret
-
在 涂鸦 IoT 开发平台,找到你创建的 SDK。
-
在 获取密钥 中,点击 下载安全图片 > 安全图片下载 下载安全图片。
-
将下载的安全图片命名为
t_s.bmp
,放置到工程目录的assets
文件夹下。 -
返回安卓项目,在
AndroidManifest.xml
文件里配置 appkey 和 appSecret,在配置相应的权限等。<meta-data android:name="TUYA_SMART_APPKEY" android:value="应用 Appkey" /> <meta-data android:name="TUYA_SMART_SECRET" android:value="应用密钥 AppSecret" />
第四步:混淆配置
在 proguard-rules.pro
文件配置相应混淆配置。
#fastJson
-keep class com.alibaba.fastjson.**{*;}
-dontwarn com.alibaba.fastjson.**
#mqtt
-keep class com.tuya.smart.mqttclient.mqttv3.** { *; }
-dontwarn com.tuya.smart.mqttclient.mqttv3.**
#OkHttp3
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
-keep class okio.** { *; }
-dontwarn okio.**
-keep class com.tuya.**{*;}
-dontwarn com.tuya.**
第五步:初始化 SDK
您需要在 Application
的主线程中初始化 SDK,确保所有进程都能初始化。示例代码如下:
public class TuyaSmartApp extends Application {
@Override
public void onCreate() {
super.onCreate();
TuyaHomeSdk.init(this);
}
}
appKey
和 appSecret
可以配置在 AndroidManifest.xml
文件里,也可以在初始化代码里初始化。
TuyaHomeSdk.init(Application application, String appkey, String appSerect)
第六步:注销云连接
在退出应用的时候,调用以下接口可以注销云连接。
TuyaHomeSdk.onDestroy();
第七步:开启或关闭日志
-
在 debug 模式下,可以开启 SDK 的日志开关,查看更多的日志信息,帮助快速定位问题。
-
在 release 模式下,建议关闭日志开关。
TuyaHomeSdk.setDebugMode(true);
implementation("com.tuya.smart:tuyasmart:3.32.5"){
exclude group: 'com.tuya.smart', module: 'tuyasmart-log'
}
运行 Demo 应用
Demo 应用演示 App SDK 的开发流程,展现如何调用 SDK 能力、实现智能家居场景。在开发应用之前,建议根据需要先按照以下流程完成 Demo 应用的操作。
Demo 应用介绍
Demo 应用主要包括:
-
用户管理:使用手机号或者邮箱进行登录和注册。
-
家庭管理和设备管理:
- 创建家庭,切换用户所属的当前家庭。
- 展现家庭中设备列表,控制设备功能。
- 设备重命名和设备移除。
-
设备配网:包括 Wi-Fi 快连配网模式、热点配网模式、有线网关配网、网关子设备配网、蓝牙配网、Mesh 子设备配网。
运行 Demo
-
替换
app
目录下build.gradle
文件中的applicationId
为您的应用包名。 -
确认您已经完成第三步:集成安全图片和设置 Appkey 和 AppSecret。
-
然后点击运行,运行 Demo。
常见问题
SING_VALIDATE_FALED
API 请求提示签名错误(SING_VALIDATE_FALED
)
-
问题现象:运行 Demo 时提示以下错误:
{ "success": false, "errorCode" : "SING_VALIDATE_FALED", "status" : "error", "errorMsg" : "Permission Verification Failed", "t" : 1583208740059 }
-
解决方法:
- 请检查 AppKey 、AppSecret 和 安全图片是否正确配置,是否和准备工作中获取到的一致。
- 安全图片是否放在正确目录,文件名是否为
t_s.bmp
。
ILLEGAL_CLIENT_ID
-
为什么智能生活 App SDK 升级到 3.29.5 后,报错
ILLEGAL_CLIENT_ID
?
- 因为智能生活 App SDK 从 3.29.5 版本开始,做了安全校验的升级。
- 需要在涂鸦 IoT 开发平台根据说明文档来获取 SHA256,然后在平台绑定你的 SHA256。
-
为什么智能生活 App SDK 升级到 4.0.0 后,报错
ILLEGAL_CLIENT_ID
?
- 因为智能生活 App SDK 从 4.0.0 版本开始,做了安全校验的升级。
- 在涂鸦 IoT 开发平台配置的安卓包名需要与自身的工程
packageName
保持一致。否则,系统会报错ILLEGAL_CLIENT_ID
。
-
为什么在涂鸦 IoT 开发平台配置了 SHA256,直接运行 Demo,还是报错
ILLEGAL_CLIENT_ID
?
- 解决方法:直接运行 Demo 前,需要在
app
模块的build.gradle
中配置您自己的签名信息:
android {
...
signingConfigs {
debug {
storeFile file('xxxx.jks')
storePassword 'xxxxxx'
keyAlias 'xxx'
keyPassword 'xxxxxx'
}
release {
storeFile file('xxxx.jks')
storePassword 'xxxxxx'
keyAlias 'xxx'
keyPassword 'xxxxxx'
}
}
}