起因
因應 Google 最新的政策規定,所以需要更新一個版本。
程式其實沒有大幅度更動,只有拿最新版本的 Google Android 函式庫重新編譯一次,並且把版本號碼改掉。
But,人生最重要就是這個 But,Google 這次自己的 Library 出包了。
在一個不應該把我們的程式碼擋下來的地方,直接驅動一個意外發生,把正常程式碼給終結掉往下執行的可能。
這個問題只會在 Android 14 (Tiramisu) 以上的版本發生,Android 13 以下的版本不受影響。
解法
找到問題之後,就直接把該段程式碼槓掉。
如果要走正規解法,必須要把最低支援版本提升到 SDK Level 33,也就是 Android 13,這樣會有很多人的手機無法繼續使用,我自己的就是。
所以兩害相權取其輕,直接拿掉會產生這個問題的程式碼,對於整體功能不會產生影響。
新版本
修正過後的新版本已經上上去,版本名稱維持 V1.8.5 ,但是已經換成不會產生問題的版本。
所以如果有發生開起來直接當掉的狀況,請直接再更新一次,這問題就會解掉。
雖說 “又” 一次被 Google 所害,但還是自己 App 的問題,還是要跟大家說聲抱歉。(我怎麼說 “又” 呢)
小感言
其實以我自己的想法,一個穩定服務的 App,沒有必要進行大幅度更動,尤其是類似這種在外面旅遊需要持續使用的,一旦改出問題,都會是災難。
我向來服膺大同電鍋的信念,只要能煮飯,就是好電鍋。
不過我們偉大的 Google,好像不給我們開發者找點事情做就渾身不對勁,三不五時就會推出一些政策變動,然後我們支援的 API Level 也要跟著提升,不然就會擋掉之後的更新。
這樣就變成我們需要一段時間就更新一次,然後他們自家的軟體比較新的版本又沒有經過嚴格測試的話,就會出現類似這樣的問題。
使用者不會知道是誰的問題,就一律怪罪到 App 開發者身上。
我們就只能摸摸鼻子認了。
所以每一次的上版,其實那兩天都會睡不太好,生怕又會看到崩潰追蹤跳一堆錯誤出來,然後一查,又是 Google 的包。
感謝大家的體諒,新版本已經上去,預祝大家暑假旅遊愉快。