Android 手機OAT升級後應用沒有更新問題解析

介紹:

最近遇到OTA版本手機升級完成後有些應用沒有更新問題

遇到這種問題通常情況下按照以下幾步:

1.排除ota升級失敗(通過設置查看手機最新版本)

2.查看應用版本(版本是否升級到最新)

3.對比桌面應用圖標和設置中應用圖標是否相同(如果廠商沒有定製應用圖標,桌面和設置裏面查看到的圖標是一致)

 

遇到了兩個ota升級的問題:

問題一.OTA升級後發現有一個應用最新版本應該是更換了圖標,但升級後發現應用圖標在桌面上沒有刷新

分析:(1)ota升級成功了 (2)應用版本沒有更新還是老版本

第二步就可以確定是應用本身沒有升級,應用是否要升級主要通過版本後對比versionCode(如果新apk版本好大於現有版本號則走安裝流程),通過查看該應用編譯版本號確定是因爲沒有更新版本號導致。

修改版本號後再次編譯版本OTA再次升級遇到了新的問題。

描述:OAT升級成功後查看該應用版本和功能確實是最新但桌面上沒有更新該應用圖標(應用有圖標更新)

分析:同樣經過(1)(2)兩步都沒問題,(3)對比桌面圖標和設置中查看到的應用圖標不一致(廠商沒有定製圖標)

結論:可以確認是桌面應用有問題。

分析桌面爲什麼沒有更新圖標:桌面顯示的應用圖標會存儲到桌面數據庫中,如果數據庫中沒有查詢到則通過系統接口獲取。先排除正常情況下應用更新後桌面是否會更新應用信息(1)正常清楚升級應用時發現圖標會自動更新,查看源碼可以看到應用更新會通知桌面更新應用信息包括應用圖標。(2)ota升級時需要重啓手機,並且是在revovery模式下,這時桌面進程是沒有啓動所以不會有應用更新事件通知桌面。正常情況下桌面在重啓時會做一次後臺對數據庫對比更新操作,更新完成後桌面再刷一次UI,但現在的桌面應用沒有做數據庫更新操作,最後分析發現這個更新代碼被前任屏蔽了。以下是OTA升級流程借用網上圖片具體可以參考https://blog.csdn.net/dingfengnupt88/article/details/52875228/

 

問題二.OTA升級後發現有一個應用版本是最新的但分析發現應用是沒有更新

分析:同樣確定ota升級成功,應用版本號是最新,但功能沒有更新,問題很明確是ota編譯代碼裏面應用代碼有問題,查看編譯代碼很遺憾代碼很正常,直接通過整包刷機一切都沒問題。

經過一次次排除發現代碼ota包都沒問題,最後發現是那臺ota升級手機之前安裝了一個版本號最新但是代碼很老的apk,這個問題排除了很久才確定。

 

總結:

以上兩個問題第一個通過正常流程我們可以確定問題。但第二個問題很難定位雖然可以排除是代碼ota包的問題,但我們明確問題問題原因,因爲ota升級也不是我們自己升的很多東西也不知道,只是知道最終現象。如果下次遇到這種情況可以提前想到是否有人提前安裝過高版本號舊代碼的apk。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章