alibaba / alibaba/flutter_boost

FlutterBoostActivity url丢失导致崩溃

Open
#1,552 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
7.2k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

booster 版本 "v3.0-null-safety-preview.17"

问题描述:

我知道booster容器必传url, 在用到的时候我都有传递, 但目前的情况是
1. 我根本没使用FlutterBoostActivity, 项目中用到的都是BoosterFragment
2. 用户还未运行到flutter就崩溃了, 比如用户还处于登陆页面
3. 问题非必现, 起码我在研发期间一次没碰到过, 但是线上有报错

有其他同学碰到和我类似的问题吗? 或者能提供一些解决思路.

错误日志:
Back traces starts.
java.lang.RuntimeException: Unable to resume activity {com.xxx/com.idlefish.flutterboost.containers.FlutterBoostActivity}: java.lang.RuntimeException: Oops! The activity url are *MISSED*! You should override the |getUrl|, or set url via CachedEngineIntentBuilder.
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3822)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3854)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.RuntimeException: Oops! The activity url are *MISSED*! You should override the |getUrl|, or set url via CachedEngineIntentBuilder.
at com.idlefish.flutterboost.containers.FlutterBoostActivity.k(FlutterBoostActivity.java:3)
at g.g.a.h0.a(FlutterBoostPlugin.java:43)
at com.idlefish.flutterboost.containers.FlutterBoostActivity.onResume(FlutterBoostActivity.java:13)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1412)
at android.app.Activity.performResume(Activity.java:7300)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3814)
... 11 more
Back traces ends.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with FlutterBoostActivity.onResume and the FlutterBoostPlugin call shown in the stack trace, then trace how the activity URL is obtained and why FlutterBoostActivity can resume without one. Reproduce the login-before-Flutter scenario if possible and inspect the six existing comments for context. Done means the cause is identified and the missing-URL crash is prevented or covered by a regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, dart, flutter, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.