flyskywhy / react-native-btsig-telink

Component implementation for Bluetooth SIG Mesh SDK of Telink
MIT License
6 stars 1 forks source link

My Program flash back #4

Closed louisV7 closed 2 years ago

louisV7 commented 2 years ago

当我使用这个库的时候,我发现了一些问题 最初使用了最新版本0.68的rn,但是会报一个关于gradle的错误 Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. 我于是降低了版本到0.66,又报错 androidx.localbroadcastmanager.content.LocalBroadcastManager 我又添加了引用 implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'

当我运行 meshModule.doInit();时,又报错 Attempt to get length of null array 我查看后发现在

image

这里meshNetKeyData的值是Null, 所以我添加了一行 if (meshNetKeyData == null) continue; 可是现在却直接闪退,我也找不到问题, 我纯前端的,java代码看起来实在是头大~ 感谢

flyskywhy commented 2 years ago

我这里用 rn 0.63.2 没有这个问题。不确定是否是 rn 版本的问题。按说我在 index.native.js 中已经将默认赋值 static netKey = 'netKey'; 了啊,怎么传进去 java 里面会变 null 的?你发个 adb logcat 出来的 log 信息看看。

louisV7 commented 2 years ago

我尝试了0.63版本 仍旧存在一样的问题 log中输出

image

如果可以,能否给个可运行的demo呢?感谢 376469875@qq.com

我循环加了if (meshNetKeyData == null) continue;之后目前可以跑到#start,然后就闪退了 07-11 15:06:58.950 13255 13324 D TelinkBluetoothSDK: onMeshInfoRequired: MISC len: 28

07-11 15:06:58.950 13255 13324 D TelinkBluetoothSDK: misc get: MiscStorage{sno=129, ctFlag=0, rfu1=[0, 0], ivUpdateTriggerFlag=0, ivIndex=[0, 0, 0, 0], rfu2=[0, 0, 0, 0, 0, 0, 0, 0], user=[0, 0, 0, 0, 0, 0, 0, 0]}

07-11 15:06:58.951 13255 13324 D TelinkBluetoothSDK: misc: 81:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

07-11 15:06:58.973 13255 13255 D TelinkBluetoothSDK: MeshService-onCreate

07-11 15:06:58.981 13255 13255 D TelinkBluetoothSDK: #start

louisV7 commented 2 years ago

我把appkey 和netkey设定为16字节的字符串 可以跑了,但是有一些其他错误,总比闪退强,继续研究~~

flyskywhy commented 2 years ago

我把appkey 和netkey设定为16字节的字符串 可以跑了,但是有一些其他错误,总比闪退强,继续研究~~

对的,我自己的 APP 中是把 netkey 设定为 16 字节的字符串的,因为 com.telink.sig.mesh.light.ProvisionDataGenerator.getProvisionData 需要它们至少 16 个字符长度。看来我得把 index.native.js 中的 static netKey 默认值设为 16 字节以及在 README.md 中写明 😝

louisV7 commented 2 years ago

这个组件似乎是基于2010的telink sdk实现的?我在telink官网下载sdk发现是2017年版本的,发现这个组件只有startProvisioning, 没有startBinding过程,还是说在内部自己实现了?如果我使用这个模块,telink能否兼容呢?

image
flyskywhy commented 2 years ago

index.native.js 中的 configNode() 用于绑定(isToClaim 为 true 时)和解绑(isToClaim 为 false 时)

这个组件基于 feat(react-native-btsig-telink): Upgrade from sig_mesh_sdk3.1/app/TelinkSigMesh_AndroidSource_V3.1.0_20191217.zip/TelinkSigMeshRelease.zip/TelinkSigMeshLib/

telink 官网一般只提供最新版下载而没有历史版本,现在应该是 2022 年的吧,你是怎么下载到 2017 年版本的?我很好奇

louisV7 commented 2 years ago

哦 那我搞错了,我看到date是2010我就以为是2010呢 我手里这份是3.4版本 没有日期后缀 我看文件注释的date都是2017年

------------------ 原始邮件 ------------------ 发件人: "Li @.>; 发送时间: 2022年7月21日(星期四) 下午2:37 收件人: @.>; 抄送: @.>; "State @.>; 主题: Re: [flyskywhy/react-native-btsig-telink] My Program flash back (Issue #4)

index.native.js 中的 configNode() 用于绑定(isToClaim 为 true 时)和解绑(isToClaim 为 false 时)

这个组件基于 feat(react-native-btsig-telink): Upgrade from sig_mesh_sdk3.1/app/TelinkSigMesh_AndroidSource_V3.1.0_20191217.zip/TelinkSigMeshRelease.zip/TelinkSigMeshLib/

telink 官网一般只提供最新版下载而没有历史版本,现在应该是 2022 年的吧,你是怎么下载到 2017 年版本的?我很好奇

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you modified the open/close state.Message ID: @.***>