Flutter混合開(kāi)發(fā)采用的源碼集成方式绳泉。
一、集成flutter_boost框架:
環(huán)境:
FlutterSDK版本為:1.9.1+hotfix.2艺智;
flutter_boost:
git:
url: 'https://github.com/alibaba/flutter_boost.git'
ref: '0.1.54'
錯(cuò)誤
增加自己的MethodChannel之后谋梭,報(bào)找不到自定義MethodChannel中方法的錯(cuò):
Unhandled Exception: MissingPluginException(No implementation found for method xxxx on channel
???????開(kāi)始以為是插件沒(méi)有注冊(cè)的原因互广,但是新版sdk是不需要手動(dòng)調(diào)用GeneratedPluginRegistrant.registerWith方法,好吧焙格,嘗試一下图毕。我添加上這個(gè)方法后,沒(méi)有報(bào)上面這個(gè)錯(cuò)誤了眷唉,但是flutter頁(yè)面顯示不出來(lái)了予颤。
???????看來(lái)這兩者存在沖突,查看flutter_boost的源碼冬阳,發(fā)現(xiàn)有一個(gè)BoostChannel類荣瑟,存在一個(gè)MethodChannel,并且有addMethodCallHandler方法摩泪,最后不自定義MethodChannel來(lái)笆焰,直接使用flutter_boost框架的MethodChannel,解決問(wèn)題见坑。
???????原生打印日志中還是會(huì)報(bào)MissingPluginException錯(cuò)誤嚷掠,實(shí)際方法已經(jīng)執(zhí)行,不影響功能荞驴。