Coding Story

在黑暗中寫故事 👻

0%

Android WebView 悲劇!如何判斷 App 有受影響

前言故事

今天一大早,小唯的信箱開始不斷湧入詢問信件、Slack 群組上比平日更多的 @Mention,坐在位置上也是不斷地有人敲椅背,這全都指向一個問題「有使用者回報 App 一開就閃退」!🙄 小唯直覺回覆「我們前後端這幾天都沒更新啊!」接著網路新聞就不斷出現 Android WebView 的災情,立刻讓小唯想調查看看是不是相關,照著網路上的爬文,拿幾台測試機來更新 Play Store 上的 WebView,但卻無法複製問題(試過 Pixel、Samsung、Oppo 等廠牌與型號),所以小唯要如何給個合理解釋呢?

偵測當機的工具

Firebase Crashlytics 是 Android 工程經常用來記錄使用者當機資訊的工具之一,但在這次 WebView 災情中,並沒有記錄到有異常的當機事件,所以 Crashlytics 這次並沒有太大幫助。反之,Play console 的 Android Vitals 這次卻相當有幫助(在小唯公司中,工程們不常用這工具,推測是 Play console 一般被誤認為是產品經理上架用的工具 😣)。

以下是 Android Vitals 的異常紀錄,可以看到 3/23 這天異常的當機:


點入看細節,會發現這幾個 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) 都是主要出現在 3/23 日


如果觀察堆疊追蹤,會發現它們都跟 webviewtrichromelibrarychrome 相關:




後續發展

雖然沒辦法直接證明今天早上回報的問題都是與 WebView 相關,但至少有個說法,讓產品經理有方向讓使用者去試試(除非真的很影響使用,要不小唯是不太建議照網路的做法,反安裝 WebView 更新,畢竟有些更新與安全性相關…,雖然產品經理不這麼想)

就這樣,小唯暫時度過了這漫長的一天… 😞



------------- 本文结束 每天都有驚喜 -------------