вторник, 25 марта 2014 г.

Ускорение работы GPS на Android

Рецепты на память:
Ускорение работы GPS на Android
Ускорение работы GPS на Android - 2

Полностью под катом:
1. Использовать программу для синхронизации времени ClockSync (нужен root, найдено здесь):
- перед запуском навитела (или другого навигатора) через программу ClockSync синхронизировать время на телефоне;
- после запуска навитела через программу ClockSync синхронизировать время на телефоне.

2. Отредактировать файл gps.confв параметре NTP_SERVER прописать свое расположение.
Файл gps.conf находится в /system/etc/gps.conf , а не на карте памяти. Для редактирования нужен root. Редактировать можно с помощью Root Explorer, либо ES Проводник (в меню настроек в разделе "Root-права" включите опцию "Root-эксплорер" и "Подключить системные папки").
Для редактирования удобно использовать программу FasterFix. У меня, например было
 NTP_SERVER=north-america.pool.ntp.org 
а для Украины необходимо было прописать
 NTP_SERVER=ua.pool.ntp.org 
Соответственно, для России 
NTP_SERVER=ru.pool.ntp.org 
После чего перезагрузить аппарат.

3. Продвинутое редактирование gps.conf (нужен root, найдено здесь).
В этом случае для редактирования удобно пользоваться программой FasterGPS. Описанное в п.2 эта программа тоже умеет делать.
Необходимо добавить в файл следующее:
NTP_SERVER=ua.pool.ntp.org - если вы не сделали этого в п.2, то обязательно сделайте сейчас (как вы понимаете, это настройка для Украины)
INTERMEDIATE_POS=0
ACCURACY_THRES=0
REPORT_POSITION_USE_SUPL_REFLOC=1
ENABLE_WIPER=1
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_NO_SECURE_PORT=7276
SUPL_SECURE_PORT=7276
CURRENT_CARRIER=common
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_SSL_ENABLE=FALSE
DEFAULT_USER_PLANE=TRUE

После чего перезагрузить аппарат.
По хорошему можно и руками отредактировать gps.conf (например, через RootExplorer), FasterGPS - это просто фронтэнд для редактирования. Но с ним спокойнее, т.к. нельзя оставлять пробелы в конце строки и пустые строки в gps.conf.

4) Использовать программу, которая способствует скорейшему определению координат.Из нескольких протестированных (Статус GPS, GpsFix, GPS Test) наиболее эффективной и функциональной оказалась Статус GPS (root не нужен). Включаем GPS, включаем мобильный Интернет, запускаем Статус GPS, и там: 
Меню - Инструменты - Данные A-GPS - Загрузить

5) Cинтезированный из нескольких найденных в Сети новый файл gps.conf, c которым процесс определения координат занимает 5-10 секунд. Файл адаптирован для Украины, но его легко переделать и для других стран Европы - в первых нескольких строках меняем "ua", например на "ru" - получаем файл для России, и т.п.
NTP_SERVER=ua.pool.ntp.org
NTP_SERVER=0.ua.pool.ntp.org
NTP_SERVER=1.ua.pool.ntp.org
NTP_SERVER=2.ua.pool.ntp.org
NTP_SERVER=3.ua.pool.ntp.org
NTP_SERVER=europe.pool.ntp.org
NTP_SERVER=0.europe.pool.ntp.org
NTP_SERVER=1.europe.pool.ntp.org
NTP_SERVER=2.europe.pool.ntp.org
NTP_SERVER=3.europe.pool.ntp.org
XTRA_SERVER_1=/data/xtra.bin
AGPS=/data/xtra.bin
AGPS=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
REPORT_POSITION_USE_SUPL_REFLOC=1
QOS_ACCURACY=50
QOS_TIME_OUT_STANDALONE=60
QOS_TIME_OUT_agps=89
QosHorizontalThreshold=1000
QosVerticalThreshold=500
AssistMethodType=1
AgpsUse=1
AgpsMtConf=0
AgpsMtResponseType=1
AgpsServerType=1
AgpsServerIp=3232235555
INTERMEDIATE_POS=1
C2K_HOST=c2k.pde.com
C2K_PORT=1234
SUPL_HOST=FQDN
SUPL_HOST=lbs.geo.t-mobile.com
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_TLS_HOST=FQDN
SUPL_TLS_CERT=/etc/SuplRootCert
ACCURACY_THRES=5000
CURRENT_CARRIER=common
-----

Комментариев нет: