Page 1 of 1

APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 7日 15:25
by 小试一刀

按照app ui业务包 文档集成流程 已实现家庭管理界面。窃喜大道已成。
但是,高兴早了 :按照文档继续小程序面板 mini sdk 。按照例程com.thingclips.smart.bizbundle.miniapp.demo .mini实现小程序运行环境。
:service not implementcom.gzl.smart.gzlminiapp.smart_api
AbsBizBundleFamilyService 时需要自己实现 AbsMiniAppConfigInjectService.injectAdapterConfig,还是有遗忘的步骤 迷茫不知所措。求指点!

版本信息:开发版本

implementation 'com.thingclips.smart:thingsmart:5.14.0'
implementation 'com.thingclips.smart:thingsmart-BizBundlesBom:5.14.6'
implementation 'com.thingclips.smart:thingsmart-bizbundle-panel'
//基础扩展能力-必选
implementation "com.thingclips.smart:thingsmart-bizbundle-basekit"
//业务扩展能力-必选
implementation "com.thingclips.smart:thingsmart-bizbundle-bizkit"
//设备控制相关能力-必选
implementation "com.thingclips.smart:thingsmart-bizbundle-devicekit"
implementation "com.thingclips.smart:thingsmart-commonbiz-relation-api:4.5.0-rc.1"
implementation "com.thingclips.smart:thingsmart-bizbundle-family"
// MiniApp SDK 业务包-必选
implementation "com.thingclips.smart:thingsmart-bizbundle-miniapp"


Re: APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 7日 15:42
by Beecool7

是AbsBizBundleFamilyService没有实现类还是AbsMiniAppConfigInjectService没有实现类


Re: APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 7日 15:51
by 小试一刀

AbsMiniAppConfigInjectService

文档中家庭服务有这样的服务注册流程
// 注册家庭服务,商城业务包可以不注册此服务
BizBundleInitializer.registerService(AbsBizBundleFamilyService.class, new BizBundleFamilyServiceImpl());

mini app sdk 提示service not implement com.gzl.smart.gzlminiapp.smart_api.AbsMiniAppConfigInjectService
集成mini app sdk 也需要跟注册家庭服务一样 实现 继承AbsMiniAppConfigInjectService实现一个 AbsMiniAppConfigInjectServiceImpl() 重写
public abstract class AbsMiniAppConfigInjectService public constructor() : com.thingclips.smart.api.service.MicroService {
public abstract fun injectAdapterConfig(): com.gzl.smart.gzlminiapp.smart_api.MiniAppConfig
}

是否应该和家庭一样 实现注册服务?,AbsMiniAppConfigInjectServicempl 中实现injectAdapterConfig


Re: APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 7日 16:07
by Beecool7

1.检查下项目中是否有com.gzl.smart.gzlminiapp:miniapp_smart这个依赖


Re: APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 8日 09:56
by 小试一刀

com.gzl.smart.gzlminiapp:miniapp_smart project目录下版本 3.15.0

按照 mini app ui demo例程在页面初始化完成后,通过按键调用 ThingMiniAppClient.initialClient().initialize()初始化 ,
可以确定在ThingMiniAppClient初始化时报错。

还是在.AbsMiniAppConfigInjectService 中。

错误信息:

service not implement com.gzl.smart.gzlminiapp.smart_api.AbsMiniAppConfigInjectService

Shutting down VM

Caused by: java.lang.NullPointerException

java.lang.ExceptionInInitializerError
at com.gzl.smart.gzlminiapp.miniapp.GZLMiniAppSDK.init(GZLMiniAppSDK.java:24)
at com.gzl.smart.gzlminiapp.smart.init.GZLMiniAppPipeLine.run(GZLMiniAppPipeLine.java:31)
at ThingMiniAppInitialClient.initialize(ThingMiniAppClient.kt:44)

最终报错地方 信息:
Caused by: java.lang.NullPointerException
at com.gzl.smart.gzlminiapp.smart_api.MiniAppConfig.<clinit>(MiniAppConfig.kt:119)
at com.gzl.smart.gzlminiapp.miniapp.GZLMiniAppSDK.init(GZLMiniAppSDK.java:24) 
at com.gzl.smart.gzlminiapp.smart.init.GZLMiniAppPipeLine.run(GZLMiniAppPipeLine.java:31) 
at ThingMiniAppInitialClient.initialize(ThingMiniAppClient.kt:44) 

另外app 启动时,搜索service not implement 日志时有这样一条

service not implement com.thingclips.smart.statapi.StatService,


Re: APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 9日 11:14
by Beecool7

1.是不是本地已经存在了module_app.json这个文件


Re: APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 9日 11:16
by Beecool7
企业微信截图_ca9c3745-35e3-4750-a5a1-ce126f674f1b.png

Re: APP SDK集成 mini sdk 报错:service not implementcom.gzl.smart.gzlminiapp.smart_api

Posted: 2024年 Aug 9日 11:20
by Beecool7

5.14.6版本的BizBundlesBom已经把这些配置打包进去了,本地不需要在配置一份,这会导致一部分数据丢失。删除本地的配置,再尝试下。(你可以查看下你本地的module_app.json,应该是没有AbsMiniAppConfigInjectService的映射关系的,问题原因就是出在这里。)