Кого бы ты не фотографировал — ты всегда фотографируешь себя
Ускорение работы GPS на Android mechanicuss April 22nd, 2012
UPD. вышли вторая «Ускорение работы GPS на Android — 2» и третья Ускорение работы GPS на Android — 3 части статьи с описанием файла gps. conf, благодаря которому спутники ловятся за 5-10 секунд.
Попробую в этом посте систематизировать ту информацию, которую собрал по теме ускорения работы GPS на Android. Скажу сразу, что большинство вещей актуальны при наличии root и S-OFF (я сразу зашил на свой смартфон кастомную прошивку RcMix 3d Runny). Пост не претендует на абсолютную полноту освещения вопроса — просто делюсь своим опытом.
Ранее я ждал минут по 20 — спутники так и не ловились. Теперь в результате применения описанных ниже советов — координаты определяются за 2-3 минуты при холодном старте, и примерно 30-40 секунд при горячем.
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 -> Загрузить
Лирическое отступление:
когда наблюдаешь как Статус GPS уверенно один за другим ловит спутники
(задействовано/поймано: 0/1. 1/2. 3/3 и тд),
время ожидания проходит значительно быстрее.
Кстати, эта программа имеет еще функцию «Радар»: можно пометить то место, где вы сейчас находитесь, и потом вернуться к нему.
Также помним о простых вещах:
PS — еще хочу порекомендовать хороший обзор программ по работе с GPS — Практикум: используем GPS на Android по максимуму — обязательно посмотрите, там есть немало полезного.
PPS — из того, чем из этого обзора пользуюсь сам, хочу порекомендовать отличнейший менеджер профилей Llama.
Строго говоря, к GPS она не имеет никакого отношения:
Особенностью Llama является то, что она не использует GPS для определения координат, а полагается на сотовые вышки. Тем не менее, решено было включить ее в обзор, как альтернативу GEO-Tasker.
Программа получает данные о расположении, используя данные о вышках оператора, и в зависимости от этого умеет переключать профили. Например, дома — нормальный днем, тихий с 23 до 6, выходишь из дома — громкий, в церкви — без звука, на работе — тихий, и тд. Комбинируя зоны и события, можно прописать абсолютно все под себя, и забыть о ручном переключении профилей.
Спасибо за внимание.
Буду рад комментариям и дополнениям.
PPPS: вопросы вот такого типа я оставляю без ответа — я не конкурент Google:
Поставил все на место, теперь работает нормально, но GPS сигнала нет — почему?