pc网站 手机网站,电商小程序免费开店,江苏城乡建设厅官方网站,网易企业邮箱电话前言电信的编解码插件本意上是可以让我们的开发更加灵活#xff0c;但是你好歹把文档写明白啊。。。同时在正常的生产中我们的产品不可能只使用电信的模块#xff0c;有时甚至是客户要求使用移动还是电信的模块#xff0c;所以兼容性给我们的体验非常直观#xff01;我们先…前言电信的编解码插件本意上是可以让我们的开发更加灵活但是你好歹把文档写明白啊。。。同时在正常的生产中我们的产品不可能只使用电信的模块有时甚至是客户要求使用移动还是电信的模块所以兼容性给我们的体验非常直观我们先不考虑兼容性问题先把流程走通吧还是编解码插件的两种形式1、线上编辑当大家刚看到线上编辑的时候内心一定非常激动想咋改咋改而且看上去非常直观但是当你真正看到这个页面时估计会懵逼#%#%#%在定义profile的时候相信你已经发现了字段类型只有int 和string类型而且string类型是用ascii码传递的而在线编解码工具规定profile中字段是什么类型编解码就必须使用什么类型去接受总之非常难用~~不推荐大家使用2、离线编解码插件离线编解码插件活动空间就比较大了首先这个东西是一个jar包当设备有上传信息的时候会调用你这个jar包中的一个接口在接口内部你可以任意操作(死循环除外 - -||)然后根据不同的上传类型(根据解析16进制码流得出)传到不同的profile 中的对应的 service 中去(根据serviceId)下发也是同样的道理但是捏电信不可能什么东西都让你往他的服务器上传的所以需要人工审核总结华为官方的文档是不推荐使用离线编解码插件的我们最开始也不太想用太麻烦了而且一旦修改就要现申请但是最后大家都没研究透怎么使用在线编辑的方式有能够吃透的大神欢迎留言下载离线编解码插件包包如果你想在电信的文档中找到这个编解码插件的样例估计会很难首先它没有一个明确的位置其次电信网站非常卡点一下半天不动所以我们是作者去华为的物联网平台文档去找果然他就在 这里这是一个java 的 maven项目下载完成之后我们来一起看下它的结构包包里有什么如图所示codeDemo里面有两个文件夹第一个文件夹是编解码插件上传格式这里暂且不叙等我们走到上传的时候在详细了解第二个文件夹中是项目没错就是它直接导入正常的maven项目导入过程不多说了。导入完成项目结构如下图所示这个地方乍看上去是个普通的项目其实很有讲究哟没想到你是这么不正经的包包到了看项目结构就要先了解一下编解码插件包了以下是上传的编解码插件包的要求1、产品已定义profile2、插件包中应存在package-info.json文件3、package-info.json文件中bundles.bundleName的值应为:‘设备类型-厂商Id-模型’4、package-info.json文件中model的值与产品profile中的应保持一致5、package-info.json文件中deviceType的值与产品profile中的应保持一致6、package-info.json文件中manufacturerName的值与产品profile中的应保持一致7、package-info.json文件中packageType的值应为’CIGPlugin’8、package-info.json文件中version和bundleVersion的值应保持一致9、package-info.json文件中platform的值应为’linux’10、package-info.json文件中specVersion的值应为’1.0’11、package-info.json文件中应有bundles字段值12、package-info.json文件bundles.fileName的值应为编解码插件jar包中的./META-INF/MANIFEST.MF文件中[Bundle-Name的值]-[Bundle-Version的值].jar13、package-info.json文件bundles.bundleVersion的值与编解码插件jar包./META-INF/MANIFEST.MF文件Bundle-Version的值应保持一致14、package-info.json文件bundles.bundleName的值与编解码插件jar包./META-INF/MANIFEST.MF文件Bundle-Name的值应保持一致15、插件jar包中的./META-INF/MANIFEST.MF文件中Bundle-Name与Bundle-SymbolicName的值应保持一致16、插件jar包中应存在./META-INF/MANIFEST.MF文件17、插件jar包中的./META-INF/MANIFEST.MF文件不应包含Export_Package属性18、插件jar包中的./META-INF/MANIFEST.MF文件应包含Bundle-Name19、插件jar包中的./META-INF/MANIFEST.MF文件应包含Bundle-Version20、插件jar包中的./META-INF/MANIFEST.MF文件应包含Bundle-SymbolicName21、插件jar包中./OSGI-INF目录下有且只有一个xml文件22、在插件jar包中./OSGI-INF目录下的xml文件中scr标签应包含name属性implementation标签应包含class属性provide标签应包含interface属性23插件jar包中./OSGI-INF目录下的xml文件implementation标签的class属性值应与scr标签下的name属性值保持一致没错足足有23条那么我们怎样去满足这23条要求呢