
android location service cache dumper
हाल के दिनों में इंटरनेट पर इस खुलासे को लेकर हुए आक्रोश/अतिप्रतिक्रिया के बाद कि iPhone के पास एक कैश है उसकी लोकेशन सेवा के लिए, मैंने यह देखने का निर्णय लिया कि मेरे Android डिवाइस इसी कार्य के लिए क्या कैश करते हैं।
यह एक त्वरित डंपर है जिसे मैंने Android लोकेशन प्रोवाइडर से फ़ाइलों को पार्स करने के लिए तैयार किया है।
फ़ाइलों के नाम cache.cell और cache.wifi हैं और ये
Android डिवाइस पर /data/data/com.google.android.location/files में स्थित हैं।
इस निर्देशिका को पढ़ने के लिए आपको डिवाइस तक रूट एक्सेस की आवश्यकता होगी।
कैसे निष्क्रिय करें:
Settings -> Location & Security -> Use wireless networks खोजें और उसे अनचेक करें।
यह 2.3 डिवाइसों पर फ़ाइलों को हटा देता है, मेरा 2.2 डिवाइस फ़ाइलों को रखता है लेकिन उन्हें अपडेट करना बंद कर देता है। अन्य संस्करण इस समय अज्ञात हैं।
उपयोग:
$ parse.py <cache file>
आप GPX प्रारूप में आउटपुट प्राप्त करने के लिए --gpx विकल्प भी पास कर सकते हैं, फिर
gpsbabel या किसी अन्य उपकरण का उपयोग करके डेटा को
अपनी पसंद के प्रारूप में ला सकते हैं:
$ parse.py --gpx cache.wifi > wifi.gpx
महत्वपूर्ण नोट: पुराने एंड्रॉइड स्रोत को देखते हुए (ऐसा लगता है कि यह कोड अब 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] पर संपर्क किया जा सकता है।