Android 覆蓋安裝


最近遇到一個問題,在后一版本覆蓋安裝前一版本的時候,然后啟動應用出現異常,歸納下原因有

一.在后一版本中數據庫有改變,比如字段類型,那么覆蓋安裝並沒有刪除點原來數據庫中的數據,很明顯,在后版本中就出現問題了

二.在后一版本中得sharepreferences的數據有改變,那么也會出現問題,比如原來的sharepreferences保存的一數據是boolean,在后一版本把保存的數據改為了string,問題就出現了。

那么在 content provider 和file保存數據的時候會不會也是這樣的?沒試過。

那么如何解決?

1.不允許覆蓋安裝,用戶先要卸載老版本,然后才能安裝新版本,卸載了老版本,跟老版本的數據就不會影響新版本。

該如何不允許覆蓋安裝?

經過分析,原來在版本發布的時候用的都是同一個簽名,apk文件的簽名一致就允許覆蓋安裝,因此用新的簽名發布apk就解決問題

即apk1用keystore1.

apk2用keystore2

2.去掉影響新版本的老數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM