
안드로이드 위치 서비스 캐시 덤퍼
최근 며칠 동안 인터넷에서 iPhone has a cache가 위치 서비스를 위해 캐시를 사용한다는 사실이 밝혀져 분노/과잉 반응이 일어났습니다. 이에 따라 저는 제 Android 기기가 같은 기능을 위해 무엇을 캐시하는지 살펴보기로 했습니다.
이는 Android 위치 제공자의 파일을 파싱하기 위해 급히 만든 간단한 덤퍼입니다.
파일 이름은 cache.cell 및 cache.wifi이며, Android 기기의 /data/data/com.google.android.location/files에 위치합니다.
이 디렉토리를 읽으려면 기기에 대한 루트 액세스 권한이 필요합니다.
비활성화 방법:
설정 -> 위치 및 보안 -> 무선 네트워크 사용을 찾아 체크를 해제하세요.
이는 2.3 기기에서는 파일을 제거하지만, 제 2.2 기기에서는 파일을 유지하지만 업데이트를 중단합니다. 다른 버전은 현재 알려져 있지 않습니다.
사용법:
$ parse.py <cache file>
또한 --gpx 옵션을 전달하여 GPX format으로 출력한 다음, 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]으로 연락해 주세요.