Android SDK客户问题整理
Q:解绑网关并删除数据重置之后,gwResetCallBack&gwRebootCallBack这两个函数没有被调用
A:客户使用的是linux转安卓的行业sdk,基于的是综合sdk的develop_room分支,我这边自己测试,发现这两个回调函数是被调用了的;通过分析客户的代码,发现他在gwActiveStatusCallBack函数中,增加了重启代码,导致gwResetCallBack&gwRebootCallBack执行不到。
Q:很多客户使用aar包的时候,都出现了No implementation found for int com.tuya.api.ZigbeeJniApi.zigbee_rftest错误
A:由错误信息可知ZigbeeJniApi没有被注册,原因是客户没有按照例程中的调用顺序来,由于综合sdk中的各个功能模块都是在log模块中注册的,所以在代码的最开始需要调用log相关的两个函数:LogJniApi.INSTANCE.setLogListener和LogJniApi.INSTANCE.init
Q: 客户语音上传,一直提示端口绑定失败:Failed to bind socket on port:6668 errno:-15
A:端口绑定失败的原因是端口冲突了,原因是客户同时使用了功能相同的新旧两个sdk,全部迁移到新sdk的接口就可以了,客户需弄清楚implementation进来的各个包的具体用途,不清楚的地方可以问项目对接人。
Q: 客户:产测接口怎么使用?
A:zigbee产测接口,需要使用Tuya ZigBee dongle连接到电脑端。
fun zigbee_rftest(
channel: Int, //发送信道,范围[11,26]
packNum: Int, //发送的数据包个数
tyZ3RftestResultListener: ZigbeeListener.TyZ3RftestResultListener //接收包的个数
): Int
代码示例
ZigbeeJniApi.INSTANCE.zigbee_rftest(channel, packNum, new ZigbeeListener.TyZ3RftestResultListener() {
@Override
public void z3RftTestResultCallBack(int i) {
System.out.println("i = " + i);
}
});
Q: 客户:ATOP接口怎么使用?
A /**
* 发送ATOP命令
*
* @param apiName 参考API_NAME_xxx
* @param apiVer API版本
* @param postData json格式的数据
* @return 成功返回json结果字符串,否则返回null
*/
fun iotHttpcCommonPost(
apiName: String,
apiVer: String,
postData: String
): String {
return native_iotHttpcCommonPost(apiName, apiVer,postData)
}
Q:某些客户使用的android6.0系统可能遇到兼容性问题: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memclr4"
A:联系对接人员提供特定版本的sdk