Flutter应用在部分Android 15设备(Pixel/Samsung)上无声启动失败的排查求助
Flutter应用在部分Android 15设备(Pixel/Samsung)上无声启动失败的排查求助
折腾了好几天还是没找到问题根源,来这里求助大家!我最近碰到一个非常诡异的问题:我的Flutter应用在部分Android 15设备上安装完全正常,但启动时直接无声失败——既没有崩溃弹窗,也没有任何可见反应,Logcat和Crashlytics里都抓不到崩溃报告。更奇怪的是,这个问题是随机出现的:同样是Samsung(One UI)或Pixel的Android 15设备,有的能正常启动,有的就不行,但在Android 14及以下版本的所有设备上都完全没问题。
我已经用了最新稳定版的Flutter,所有依赖也都更新到了最新版本。
已尝试的排查操作
- 在多台不同型号的Android 15设备上测试复现问题
- 逐行检查代码,确认没有设备特定的逻辑分支
- 重新核对应用权限清单和Manifest的所有配置项
- 翻遍了Flutter GitHub的issues,没找到类似的案例
- 在Firebase Test Lab中运行自动化测试,成功复现了启动失败的情况
- 反复验证,确认问题仅出现在Android 15及以上版本
捕获到的异常日志
本地问题设备的Logcat异常
在一台启动失败的设备上,我终于在Logcat里抓到了这个启动时的关键异常:
E ActivityTaskManager: java.lang.NumberFormatException: For input string: "res/ON.png"
看起来系统居然在尝试把图片路径res/ON.png解析成整数,这显然会直接失败。我怀疑这会不会和Android 15对启动窗口主题或应用图标的处理逻辑变更有关?
Firebase Test Lab的启动失败日志
在Firebase Test Lab的测试中,也抓到了完整的启动失败流程日志:
ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.flipsidegroup.beautyshelf cmp=com.flipsidegroup.beautyshelf/.MainActivity} with LAUNCH_SINGLE_TASK from uid 10291 (BAL_ALLOW_PERMISSION) result code=-96 06-03 03:11:45.803 22841 23090 W Robo : Launching using UiAutomator failed after 537 milliseconds. 06-03 03:11:45.803 19024 19050 I PCP.DataFetch: #updateLastReturnedDatabase 06-03 03:11:45.804 22841 23090 W Robo : android.util.AndroidRuntimeException: Activity could not be started for Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.flipsidegroup.beautyshelf cmp=com.flipsidegroup.beautyshelf/.MainActivity } 06-03 03:11:45.804 22841 23090 W Robo : at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2457) 06-03 03:11:45.804 22841 23090 W Robo : at android.app.Instrumentation.execStartActivity(Instrumentation.java:2005) 06-03 03:11:45.804 22841 23090 W Robo : at android.app.ContextImpl.startActivity(ContextImpl.java:1161) 06-03 03:11:45.804 22841 23090 W Robo : at android.content.ContextWrapper.startActivity(ContextWrapper.java:460) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.uiautomator.UiAutomatorInteractionController.launchPackage(UiAutomatorInteractionController.java:11) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.hybrid.HybridInteractionController.launchPackage(HybridInteractionController.java:1) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.ActionExecutor.execute(ActionExecutor.java:71) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.ActionExecutor.performAction(ActionExecutor.java:4) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.RemotePlatform.handlePerformAction(RemotePlatform.java:22) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.RemotePlatform.messageLoop(RemotePlatform.java:63) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.RemotePlatform.lambda$startCrawlAndWaitUntilFinished$0(RemotePlatform.java:1) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.RemotePlatform.$r8$lambda$hQGbAtvOdfTLGIyexIBN1s0MlMk(Unknown Source:0) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.RemotePlatform$$ExternalSyntheticLambda0.run(Unknown Source:6) 06-03 03:11:45.804 22841 23090 W Robo : at java.lang.Thread.run(Thread.java:1012) 06-03 03:11:45.804 1470 1997 W UsageStatsService: Unexpected activity event reported! (com.flipsidegroup.beautyshelf/com.flipsidegroup.beautyshelf.MainActivity event : 23 instanceId : 78417694) 06-03 03:11:45.804 22841 23090 W Robo : Failed to launch. 06-03 03:11:45.804 22841 23090 W Robo : androidx.test.tools.crawler.common.exceptions.LaunchFailedException: Failed to launch app: com.flipsidegroup.beautyshelf 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.uiautomator.UiAutomatorInteractionController.launchPackage(UiAutomatorInteractionController.java:29) 06-03 03:11:45.804 22841 23090 W Robo : at androidx.test.tools.crawler.platform.hybrid.HybridInteractionController.launchPackage(HybridInteractionController.java:1)
核心疑问与求助
从那个NumberFormatException来看,系统似乎在启动阶段错误地把一张图片的路径res/ON.png当成整数去解析了,我猜测这可能和Android 15对启动窗口主题、应用图标或者启动流程的处理逻辑变化有关?
想请教大家:
- 有没有人遇到过类似的Android 15启动失败问题?
- 这会不会是Android 15新增的系统限制或行为变更导致的?
- 有没有进一步调试定位问题的方法,或者临时绕过的思路?
任何建议和思路我都非常感激!
内容来源于stack exchange
相关产品推荐
相关产品推荐

