
مُفَرِّغ ذاكرة التخزين المؤقت لخدمة الموقع في أندرويد
بعد موجة الغضب/رد الفعل المبالغ فيه على الإنترنت في الأيام الأخيرة عقب الكشف عن أن يمتلك آيفون مخبأً لخدمة تحديد الموقع، قررت أن ألقي نظرة على ما تخزّنه أجهزة أندرويد لديّ لنفس الوظيفة.
هذه أداة تفريغ سريعة جمعتها على عجل لتحليل الملفات من مزوّد موقع أندرويد.
الملفات تُسمى cache.cell و cache.wifi وتقع في /data/data/com.google.android.location/files على جهاز أندرويد.
ستحتاج إلى صلاحيات الجذر (root) للوصول إلى هذا الدليل.
كيفية التعطيل:
ابحث عن 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]