アプリで保存したデータが再インストールで復活する事や、 WebViewで実装した画面のローカルストレージ保存したデータ等が復活する事が気になっていたの調べた.

特にWebViewでログイン画面実装して、アカウント情報などをWebViewキャッシュ保存とかしてると、 再インストールとかしたのに復活するので、開発時などは無効設定が好ましい.

単純にAndroidのバックアップ機能が有効になっていた.

AndroidManifest.xml

  • android:allowBackup: バックアップ自体を実施するかどうか
  <application
    android:allowBackup="false"
    ...
    />
  • android:fullBackupContent: バックアップする内容を指定

android:fullBackupContent

  <application
    android:allowBackup="true"
    android:fullBackupContent="@xml/backup_rules"
    ...
    />

@xml/backup_rules

<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
 <include domain="sharedpref" path="."/>
 <exclude domain="sharedpref" path="device.xml"/>
</full-backup-content>

ユーザデータの自動バックアップ設定

  • Android 6.0(API レベル 23)以上をターゲットとするアプリで、自動的に自動バックアップが有効
  • アプリデータはGoogleDriveにバックアップされる
  • Android9以降のデバイスでは、デバイスのPIN、パスワード、パターンを使用し、エンドツーエンドで暗号化
  • アプリ1つあたり25Mb,最新データのみ保存
  • バックアップデータに関しては追加料金なし

Refs