Flutter编译Release版本时Eko Jitsi插件类型不匹配错误求助
解决Flutter Release构建时Eko Jitsi插件的Kotlin类型不匹配错误
问题场景
构建Flutter项目Release版本时,Eko Jitsi插件的EkoJitsiPluginActivity.kt第224行出现类型不匹配错误:推断类型为String?但需要String,但Debug版本运行完全正常。
解决方案
1. 定位错误代码
错误出现在prepareWhiteboardLayout方法的按钮点击事件中,wv.loadUrl(whiteboardUrl)这一行使用了可空类型的whiteboardUrl,但WebView.loadUrl()要求传入非空的String参数。
2. 修改代码(二选一即可)
因为已经在EkoJitsiPluginActivity.whiteboardUrl != null的判断分支内,确保了值不为空,所以可以安全使用以下方式处理:
- 方式一:直接使用非空断言
wv.loadUrl(EkoJitsiPluginActivity.whiteboardUrl!!) - 方式二:先赋值给非空变量再传入
val url = EkoJitsiPluginActivity.whiteboardUrl!! wv.loadUrl(url)
原因说明
Debug模式下,Kotlin编译器会放宽空安全检查的严格程度,允许潜在的可空类型传递给非空参数;而Release模式下会启用严格的编译检查,强制执行类型安全规则,因此暴露了这个可空类型不匹配的问题。
内容的提问来源于stack exchange,提问作者Abir Ahsan
相关产品推荐
相关产品推荐

