你是否遇過這種狀況:
手機裡的 App 解除安裝後,重新到 Google Play 下載安裝,結果打開 App,裡面的資料還在?不只帳號資料,連設定、紀錄、甚至本地存檔都回來了,這到底是怎麼辦到的?
其實,這一切都歸功於Google Play 的「自動備份與還原」機制。本篇文章帶你一次搞懂!
什麼是 Android App 的自動備份?
Google 為了讓使用者換手機、重裝 App 時不用擔心資料遺失,
從 Android 6.0(Marshmallow)起就引入了「Auto Backup for Apps」功能。
這項功能會自動將 App 的本地資料備份到雲端(Google Drive),只要:
- 你的手機有登入 Google 帳號
- 沒有明確禁止備份
- 沒有使用私有/加密儲存空間
備份了哪些資料?
主要會備份以下幾種:
- App 內的 SQLite 資料庫
- SharedPreferences(偏好設定)
- App 的私有檔案(internal storage 下的檔案)
- 部分使用者產生的本地檔案(只要不是 cache 或 temp)
備份不會包含:
- 大型下載檔案(例如影片)
- 快取檔(cache)
- 外部儲存空間(如 SD 卡)
- 以
<application android:allowBackup="false">
禁止備份的 App
自動還原的時機?
只要在同一支手機/平板、同一個 Google 帳號下,
你把同一個 App 重新從 Play 商店安裝,系統就會自動從雲端備份還原資料到 App 內。
這樣用戶就不會因為重裝而遺失 App 的各種設定或資料。
Flutter App 也會被自動備份嗎?
會!
不管你是原生 Android App,還是用 Flutter 開發的 App,
只要資料存在 App 的「私有儲存空間」(通常就是 SQLite、SharedPreferences),都會被自動備份、還原。
開發者可以控制備份嗎?
當然可以,開發者可以在 AndroidManifest.xml
裡設定:
<application
...
android:allowBackup="false"
...>
- allowBackup="true"(預設):會自動備份和還原
- allowBackup="false":完全不會自動備份任何資料,用戶重裝或換機就什麼都沒了
常見問題 Q\&A
Q1. 我用 APK 安裝會有這個現象嗎?
A:不會!
自動備份還原只會發生在「從 Play 商店安裝」的 App。
Q2. 換手機或不同帳號會備份嗎?
A:換手機但同帳號會還原,不同 Google 帳號則不會還原之前的資料。
Q3. 使用 adb 移除 app,資料會被保留嗎?
A:用 adb uninstall
預設會連資料一起刪除,
用 adb uninstall -k
則只會移除 app,資料不會刪掉。
小結
Google Play 的自動備份與還原設計,是為了提升用戶體驗、減少資料遺失風險。如果你是開發者,也能決定自己的 App 要不要開放這個功能。如果你只是一般使用者,也能放心重裝 app,資料還會自動回來!
希望這篇說明能解答大家對「App 解除安裝後資料還會回來」的疑惑。如果有遇到特殊狀況或想深入研究 Android 備份細節,歡迎留言討論!