Тема: Все про Memu
Показать сообщение отдельно
Старый 27.11.2016, 15:07   #78
Lexx09
Старший Пользователь
 
Регистрация: 18.04.2009
Город: Краснодар
Регион: 23, 93
Машина: Приора хэтчбек
Сообщений: 977
Lexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud ofLexx09 has much to be proud of
По умолчанию

Сделал сборки с вроде работающим чтением GPS-координат через COM-порт. Но проверить на домашнем компе не могу, т.к. что-то сломалось - данные через COM-порт перестали проходить внутрь MEmu (и внутрь Ubuntu в VirtualBox тоже). Вернее, проходят изредка, и с тормозами, зависаниями и потерями символов. Читаем первое сообщение темы.


Для желающих поэкспериментировать вот несколько наработок:
  • В папке /system/lib/hw необходимо заменить файл gps.intel.so на другой, с возможностью чтения NMEA из последовательного порта. Я брал отсюда. Из образа соответствующей версии Android извлекаем system.sfs, а уже из него вытаскиваем gps.default.so, переименовываем в gps.intel.so, копируем в папку /system/lib/hw эмулятора и выставляем такие-же разрешения, как у оригинального. gps.default.so из образа 4.2 вроде не работает в эмуляторе на 4.2, поэтому берем из образа 4.4.
  • Необходимо дать разрешения rw-rw-rw- устройству /dev/ttyS0 (COM1 в настройках виртуальной машины). Это можно сделать несколькими способами:
    1. Способ preinstall.sh, init.d.
    2. Способ install-recovery.sh.
    3. В 4.2 оба предыдущих способа не работают, т.к. в init.rc закомментирован вызов сервиса с запуском install-recovery.sh. А вызов preinstall.sh отсутствует во всех версиях. Поэтому 3-й способ - поправить разрешения в файле ueventd.rc. Но этот файл при каждой загрузке Android восстанавливается из ramdisk, поэтому надо распаковать ramdisk, поправить ueventd.rc, запаковать файлы обратно. Все это можно сделать в виртуальной машине Ubuntu под VirtualBox, подключив vmdk-файлы.
  • В файл /system/build.prop добавляем строки (скорость указываем свою):
    ro.kernel.android.gps=ttyS0
    ro.kernel.android.gpsttybaud=4800
  • В настройках местоположения включаем "По спутникам 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, круиз-контроль...
Lexx09 вне форума   Ответить с цитированием