
Android位置情報サービスキャッシュダンパー
最近、位置情報サービス用にiPhoneにはキャッシュがあることが明らかになり、インターネット上で大きな騒動/過剰反応が起きました。それを受けて、私は自分のAndroidデバイスが同じ機能のために何をキャッシュしているのか調べてみることにしました。
これは、Androidの位置情報プロバイダからファイルを解析するために急遽作成したダンパーツールです。
ファイル名は cache.cell と cache.wifi で、Androidデバイスの /data/data/com.google.android.location/files に配置されています。
このディレクトリを読み取るには、デバイスへのrootアクセスが必要です。
無効にする方法:
設定 -> 位置情報とセキュリティ -> ワイヤレスネットワークを使用 を見つけて、チェックを外してください。
これにより、2.3デバイスではファイルが削除されますが、私の2.2デバイスではファイルは残るものの更新は停止します。他のバージョンについては現時点では不明です。
使用方法:
$ parse.py <cache file>
また、--gpx オプションを指定すると、[GPX
形式]で出力できます。その後、gpsbabelなどを使用して、
任意の形式に変換できます:
$ parse.py --gpx cache.wifi > wifi.gpx
重要な注意: 古いAndroidのソースコードを見ると(このコードはもはやGoogleから公開されていないようです)、かなり制限されているようです。
ただし、データが削除されるのは新しい情報が追加されたときだけです。キャッシュに新しいデータが追加されない限り、時間ベースの削除は行われません。そのため、デバイスの移動が限られている場合、古いデータが残り続ける可能性があります。
// Maximum time (in millis) that a record is valid for, before it needs
// to be refreshed from the server.
private static final long MAX_CELL_REFRESH_RECORD_AGE = 12 * 60 * 60 * 1000; // 12 hours
private static final long MAX_WIFI_REFRESH_RECORD_AGE = 48 * 60 * 60 * 1000; // 48 hours
// Cache sizes
private static final int MAX_CELL_RECORDS = 50;
private static final int MAX_WIFI_RECORDS = 200;
出力例:
$ ./parse.py cache.wifi
db version: 1
total: 47
key accuracy conf. latitude longitude time
50:63:13:57:42:7e 80 92 57.689354 11.994763 04/11/11 10:03:51 +0200
e0:cb:4e:7e:cc:53 75 92 57.689340 11.994495 04/11/11 10:03:51 +0200
4c:54:99:14:47:68 57 92 57.708979 11.916581 04/11/11 01:14:53 +0200
00:26:18:0a:ad:cb 60 92 57.709699 11.917637 04/13/11 08:40:36 +0200
00:22:15:28:3f:7a 60 92 57.699467 11.979340 04/13/11 11:52:16 +0200
00:22:3f:a7:d9:fd 65 92 57.699442 11.979343 04/13/11 11:52:16 +0200
$ ./parse.py cache.cell
db version: 1
total: 41
key accuracy conf. latitude longitude time
240:5:15:983885 1186 75 57.704031 11.910801 04/11/11 20:03:14 +0200
240:5:15:983882 883 75 57.706322 11.911692 04/13/11 01:41:29 +0200
240:5:75:4915956 678 75 57.700175 11.976824 04/13/11 11:52:16 +0200
240:5:75:4915953 678 75 57.700064 11.976629 04/13/11 11:53:09 +0200
240:7:61954:58929 1406 75 57.710205 11.921849 04/15/11 19:46:31 +0200
240:7:15:58929 -1 0 0.000000 0.000000 04/15/11 19:46:32 +0200
240:5:75:4915832 831 75 57.690024 11.998419 04/15/11 16:13:53 +0200
ご質問や共有したい情報がありましたら、[email protected] までご連絡ください。