20.10.2015, 17:14 | #521 |
Бывалый писикарщик
Регистрация: 27.09.2008
Город: Собянинск
Регион: 77, 97, 99, 177
Машина: шкода а5
Сообщений: 5,443
|
Планируете продолжить изыскания в плане работы GPS в блюстаке без костылей?
__________________
То win 10х64, то win 8.1x64 Видео регистрация на web. камеру:http://www.youtube.com/watch?v=1hPPLRBBIqc |
21.10.2015, 12:14 | #522 | |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Цитата:
В папке /data/downloads нашел приложение BlueStacksLocationProvider.apk. Это приложение запрашивает координаты у функции UpdateGpsCoordinates. Приложение состоит из двух сервисов и одного класса. Первый сервис "GpsServiceStartReceiver" - автозагружаемый, и после автозагрузки запускает второй сервис "GpsService". Т.к. в Bluestacks версий 0.9.х.х и выше время до срабатывания автозагрузки составляет секунд 30, то первый сервис запустится через это время, и только потом "пойдут" координаты. Второй сервис "GpsService" просто запускает класс "QueryCoordinates", который в фоне циклически запрашивает координаты у функции UpdateGpsCoordinates и устанавливает их в качестве текущих. Но делает это как-то странно, а именно:
Еще нашел вот что - если в папке /data создать файл gps_debug_log, то в логах Android появятся записи приложения BlueStacksLocationProvider.apk. Примеры на первых 5-ти скриншотах:
Декомпилировал BlueStacksLocationProvider.apk и изменил так, чтобы координаты запрашивались и устанавливались каждую секунду. Но все равно осталась проблема, что координаты приложениями не определяются в реальном времени, а определяются только в момент запуска, и то после нескольких перезапусков. Поковырявшись в BlueStacksLocationProvider.apk решил заменить провайдера "network" на "gps". Теперь заработало так, как надо. При изменении координат в реестре они, не более, чем через секунду, обновляются в эмуляторе, и приложения их сразу видят. Правда, в логах появилось ругательство "Provider gps unknown" (4-й скриншот). В реестре координаты меняются при наличии датчика местоположения (при этом GpsSource становится равным 2). Но функция UpdateGpsCoordinates выдает координаты только, если GpsSource=8. Изменил HD-Frontend.exe таким образом, чтобы координаты из реестра выдавались при GpsSource=2. Получилась такая цепочка:
Для работы этой схемы мне пришлось: 1. Изменить HD-Agent.exe для работы с датчиком местоположения в Win7. 2. Изменить HD-Frontend.exe для выдачи координат из реестра при GpsSource=2. 3. Изменить BlueStacksLocationProvider.apk для увеличения скорости получения и установки координат; так же сменил провайдера с "network" на "gps". Можно еще попробовать:
PS: Долго мучался с тем, что мои изменения, внесенные в HD-Frontend.exe никак не отражались на работе, все работало по старому. В итого выяснил, что вместо моего правленного HD-Frontend.exe запускается скомпилированный (native image) из папки c:\windows\assembly\nativeimages_v2.0.50727_32\hd-frontend\17a65e6ccd86293d8908aa427c0f3d54\hd-frontend.ni.exe Нашел это с помощью PETools при запущенном Bluestacks. Просто так этот файл и папку удалить нельзя. Пришлось загружаться с LiveCD и уже оттуда удалять.
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... Последний раз редактировалось Lexx09; 22.10.2015 в 10:28. |
|
21.10.2015, 12:24 | #523 |
Бывалый писикарщик
Регистрация: 27.09.2008
Город: Собянинск
Регион: 77, 97, 99, 177
Машина: шкода а5
Сообщений: 5,443
|
Даааа...потрошитель ты знатный
__________________
То win 10х64, то win 8.1x64 Видео регистрация на web. камеру:http://www.youtube.com/watch?v=1hPPLRBBIqc |
21.10.2015, 12:48 | #524 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Честно говоря, у себя никаких проблем не наблюдаю с традиционной связкой GpsGate+GPSBridge даже в гибридном спящем режиме, которым начал недавно пользоваться.
Если уснул с открытым навигатором в Bluestacks, то при просыпании все нормально продолжает работать после того, как модем автоматически подключится к сети. Из мелочей:
Потрошу скорее из спортивного интереса.
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... |
22.10.2015, 06:59 | #525 | |
Старший Пользователь
Регистрация: 03.10.2006
Возраст: 51
Город: Moscow
Регион: 77, 97, 99, 177
Машина: Nissan Elgrand
Сообщений: 246
|
Восхищаюсь... Большое и полезное дело ты затеял...
Цитата:
Я так понимаю, что заставить использовать BS режим GpsSource = 1 вообще не реально, т.к. это не реализовано в самом BS? |
|
23.10.2015, 15:30 | #526 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Исправил BlueStacksLocationProvider.apk - увеличил скорость запроса координат до 10 раз в секунду. Как и предполагал, рывки не пропали, дельтаплан не появился.
Нашел, как сделать вывод еще одних логов работы с GPS:
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... |
23.10.2015, 17:03 | #527 | |
Старший Пользователь
Регистрация: 24.01.2014
Возраст: 38
Город: Москва
Регион: 77, 97, 99, 177
Машина: NSGV
Сообщений: 143
|
Цитата:
|
|
26.10.2015, 15:48 | #528 | |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Цитата:
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... |
|
26.10.2015, 20:07 | #529 | |
Super Moderator
Регистрация: 12.11.2013
Возраст: 45
Город: Горно-Алтайск
Регион: 04
Машина: lexus rx300
Сообщений: 3,148
|
Цитата:
http://pccar.ru/showpost.php?p=331962&postcount=382
__________________
Windows 8.1, 64 бит, iCar DS 1.7.0.60 LGA 1155 Intel(R) Core(TM) i5-3570 CPU @ 3,4 GHz (6 Mb), 2x DDRIII 4Gb 1333 MHz KINGMAX, ASRock IntelB75, VGA (DVI+HDMI)+PCX16 3,0, SSD TOSHIBA OCZ tr150 на 240 GB, 2,5 Samsung SATA 1 Tb 5400 rpm, 8Mb, M4-atx -hv Проект Кристалл-М=многоканальный звук в Lexus rx300 на базе CarPC! Установка Windows, iCarDS и всего, что необходимо для CarPC! _________________________________________ |
|
27.10.2015, 00:42 | #530 |
Старший Пользователь
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 979
|
Krysanov, при таком способе физическая клавиатура вообще насовсем отключается. А в моем способе ее можно включить в настройках. Хотя, и включать не обязательно... Физическая клавиатура продолжает работать даже, когда отображается экранная.
__________________
Приора хэтчбек Win7 x64 Pro, Intel Core i3-3240 Ivy Bridge 2x3.4GHz HT, DDR3 2x4Gb, SSD SiliconPower Ace A55 128GB SATAIII, ASRock B75M-ITX, M2-ITX rev.2F, GPS Beitian BN-808, Logitech Wireless Touch Keyboard K400r, ИК-пульт Prology RCD-350, круиз-контроль... |
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11) | |
|
|