crazecoder / flutter_bugly

腾讯Bugly flutter应用更新统计及异常上报插件,支持Android、iOS
Other
595 stars 163 forks source link

Android端初始化报错,获取不到activity #85

Closed Long2King closed 3 years ago

Long2King commented 4 years ago

我们是混合开发,在main.dart初始化时初始化bugly FlutterBuglyPlugin第79行: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference

Beta.canShowUpgradeActs.add(activity.getClass()); Bugly.init(activity.getApplicationContext(), call.argument("appId").toString(), BuildConfig.DEBUG); result(getResultBean(true, "Bugly 初始化成功"));

Long2King commented 4 years ago

Flutter版本为v1.12.13 flutter_bugly为dev分支 0.1.9

crazecoder commented 4 years ago

应该和新版method channel有关系, 建议使用master分支,dev很久没维护了

---原始邮件--- 发件人: "Long2King"<notifications@github.com> 发送时间: 2020年4月30日(周四) 下午2:34 收件人: "crazecoder/flutter_bugly"<flutter_bugly@noreply.github.com>; 抄送: "Subscribed"<subscribed@noreply.github.com>; 主题: Re: [crazecoder/flutter_bugly] Android端初始化报错,获取不到activity (#85)

Flutter版本为v1.12.13 flutter_bugly为dev分支 0.1.9

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Long2King commented 4 years ago

master分支也报这个错,这个插件的注册是在flutter_boost初始化,注册插件时一起自动注册的。 flutter_boost的初始化是在应用Application初始化时做的,所以这时没有Activity吗? 这个flutter-bugly的插件初始化只能在activity创建时初始化吗

crazecoder commented 3 years ago

应该是没有关系,理论上按照示例去初始化不会收到影响,可能是没有用Android embedding v2的原因

shingohu commented 3 years ago

@crazecoder 混合开发确实有问题,debug到是由于FlutterBuglyPlugin中flutterPluginBinding不正确的释放导致的,你在onDetachedFromActivity中对flutterPluginBinding进行了释放,实际应该在onDetachedFromEngine进行释放 在onAttachedToEngine进行赋值,这样会导致后续调用onAttachedToActivity的时候由于flutterPluginBinding未空导致了闪退, 希望尽快改过来