Показать сообщение отдельно
Старый 22.06.2015, 12:11   #761
Shadow007
Новый Пользователь
 
Регистрация: 10.06.2015
Город: Moscow
Регион: 77, 97, 99, 177
Сообщений: 11
Shadow007 is on a distinguished road
По умолчанию

Цитата:
Сообщение от ABCh Посмотреть сообщение
Shadow007
Давайте по очереди разберемся с 2-мя разными способами передачи данных от gps-приемника к навигационному приложению.
1. использование источника фиктивных местоположений (mock location provider).
Это программы You Are Here GPS или UsbGPS. Они обращаются напрямую к устройству на шине usb, для этого необходимо разрешение, задаваемое через
<feature name=”android.hardware.usb.host”/>
При этом UsbGPS может также брать данные из файла устройства /dev/ttyUSB0, что может препятствовать нормальной работе, если этот файл монопольно занят какой-либо другой программой. Поэтому надо отключить загрузку драйвера pl2303, чтобы не создавался файл /dev/ttyUSB0 и проверить в самой программе UsbGPS поступление данных. После этого убедиться, что разрешена работа с фиктивными местоположениями, отключить внутренний gps и определение местоположения по сети, и попробовать Навител. Количество спутников при этом будет всегда 0, поскольку механизм mock location provider не предусматривает передачу состояния спутников, через него передаются только координаты и скорость. GPSTest не работает с mock location provider.
2. использование встроенного в систему gps location provider.
Для этого нужны:
- драйвер pl2303 или программа pl2303drv, создающие файл устройства /de/ttyUSB0,
- библиотека ("либа") /system/lib/hw/gps.default.so и ее настройки, задаваемые через команду setprop, причем нужно сначала посмотреть в /system/lib/hw имеющиеся файлы вида gps.*.so и записать новую библиотеку вместо имеющегося файла. Меня смущает ваша фраза:
Была ли у вас изначально библиотека с именем gps.default.so?
Так, 1 пункт. И так все понятно и очевидно, но расскажу ход моих действий:
1) Отключал драйвер pl2303.
2) Отключить внутренний gps и определение местоположения по сети(при отключении внутренего gps, UsbGPS не дает себя включить(само отключение), а You Are Here GPS не поступают данные).
3) Работа с фиктивными местоположениями на андроиде - постоянно включена.
4) Отключал внутренний gps и определение местоположения по сети и оставлял только работающий UsbGPS и Навител. Спутник красным цветом и данные не поступают. Стои включить в настройках получать данные с GPS, сразу подрубаются UsbGPS и в You Are Here GPS начинают поступать данные. Но так как вы сказали должно быть все отключено кроме: фиктивных местоположений, UsbGPS и Навителла…наблюдается полностью 0 динамика. Все данные действия проделовал с отключенным драйвером pl2303.
5) WIFI на адроиде постоянно отключен.

Теперь пункт 2:
1) Драйвер pl2303 присутствует, но на данным момент отключен.
2) Немного не понял вопроса…Я все сделал строго по инструкции из данной темы(1 пост, п.п "Библиотека" (Либа)).
Библиотеки gps.default.so у меня не было, скачал из шапки из данной темы и поместил в /system/lib/hw при этом переименовав в gps.default.so(см. скрин. пост 753). Присутствовал только файл gps.glofish.so, так же заметил присутствие других файлов с названием … .default.so.

ABCh, спасибо за помощь!
Shadow007 вне форума   Ответить с цитированием