Skip to content

Releases: EMoyaP/BMW-E87-iDrive

BMW E87 iDrive v1.24.2

Choose a tag to compare

@EMoyaP EMoyaP released this 25 Aug 13:12

v1.24.2

  • Base local para límites DGT, radares fijos/tramo, zonas INVIVE y gasolineras de Alicante.
  • Prioridad segura: DGT por vía/sentido, OSM maxspeed y recomendación azul por clase solo cuando no hay límite explícito.
  • Actualización guiada con progreso y consolidación local.
  • QA reproducible de rutas GPS y corrección del respaldo offline de radares.

La app sigue siendo una aplicación normal y de solo lectura: no transmite CAN, no escribe UART ni cambia funciones OEM.

iDrive 1.16.2 · GPS y diagnóstico reproducible

Choose a tag to compare

@EMoyaP EMoyaP released this 23 Aug 14:52

Cambios principales

  • Corrige el inicio y la reanudación del proveedor GPS en la radio.
  • Mejora la coincidencia offline de límites con la geometría completa de las vías OSM.
  • Corrige y valida la importación provincial del inventario DGT de radares fijos y de tramo.
  • Añade un selector opcional, desactivado por defecto, para incluir coordenadas GPS en los logs de debug.
  • Refuerza la exportación USB y el registro de proveedor, precisión y resultados de búsqueda local.

Instalación

Descarga iDrive-v1.16.2-definitiva-debug.apk, cópiala a la memoria USB e instálala desde el launcher normal de la radio.

APK de diagnóstico firmada en modo debug para pruebas en la unidad física. La integración OEM se mantiene pasiva: no transmite CAN ni escribe UART.

v1.15.2 — local speed guidance and bilingual documentation

Choose a tag to compare

@EMoyaP EMoyaP released this 23 Aug 08:26

Versión de pruebas para la radio de referencia.

Cambios principales:

  • velocímetro E87 con escala real 0–260, aro de progreso fino y límite local marcado en naranja;
  • naranja solo al superar un límite OSM local verificado; sin límite confirmado, la velocidad permanece verde;
  • búsqueda de límite en SQLite local con cada fix GPS de conducción (aprox. 1 s), sin Internet durante la marcha;
  • coincidencia GPS/OSM más estricta: ante una vía ambigua muestra —;
  • README profesional en inglés y castellano, con selector de idioma y capturas de panel, herramientas, permisos y actualizaciones.

APK debug: 5,104,889 bytes
SHA-256: 286FB67743C0F4C922526DD95CC5594A0E602593FDAFDA18EA1C395DC8566312

La APK está firmada para pruebas; no sustituye el launcher ni transmite CAN/UART.

iDrive 1.15.1 · actualizaciones automáticas

Choose a tag to compare

@EMoyaP EMoyaP released this 23 Aug 07:16
  • Actualización automática de gasolineras cuando Android publica Internet.\n- Límites OSM locales por provincia GPS: Alicante, Murcia, Valencia y Albacete.\n- Cadencia independiente de 24 horas por provincia; Alicante reciente no bloquea Murcia, Valencia ni Albacete.\n- El panel de actualizaciones muestra la última actualización satisfactoria de precios y límites.\n- APK debug firmada para pruebas; no reemplaza el launcher ni transmite CAN/UART.

iDrive v1.13.5 · validación de señales y USB DEBUG

Choose a tag to compare

@EMoyaP EMoyaP released this 16 Aug 16:29

CHANGELOG

1.13.5 — 16/08/2026

  • Se corrige el inspector CAN para ocultar los sentinelas OEM Integer.MIN_VALUE y su equivalente float; ya no se
    interpretan como luces de emergencia, puertas abiertas o cinturones sin abrochar.
  • Se corrige la escritura SAF de USB DEBUG: el informe usa el modo estándar w del proveedor de documentos, compatible
    con los selectores de almacenamiento de estas radios.
  • Los estados de puertas y cinturón procedentes de CabinInfo quedan en modo observación hasta validar en esta unidad
    el significado de sus valores 0/1. La fila inferior conserva únicamente estados publicados por una fuente verificada.
  • La velocidad valida discrepancias entre CAN, JCRK01/CYA y GPS para rechazar una muestra CAN estancada de 14 km/h
    cuando el resto de fuentes confirma que el vehículo está parado.
  • EXPORTAR dentro del diagnóstico guarda ahora directamente en la carpeta USB autorizada el informe y el registro de
    sesión; si no hay carpeta autorizada, abre el selector USB. Se mantiene la copia interna de recuperación.
  • La radio muestra Sin información RDS cuando solo está disponible la frecuencia, sin el texto técnico de procedencia.
  • La lectura multimedia busca también sesiones/notificaciones estándar de Spotify y SpeedPlay cuando existen; los
    controles solo se habilitan si Android publica acciones compatibles.
  • El acceso de gasolineras intenta también redes IP Android con capacidad INTERNET aunque la radio no las marque como
    validadas, conservando caché y límites de tiempo si la petición falla.

1.13.4 — 16/08/2026

  • Se añadió al diagnóstico el botón DATOS CAN EN VIVO · FUENTES.
  • El modal permite cambiar entre CAN OEM, JCRK01 / CYA, Android Automotive y GPS, actualizar la lectura cada
    segundo y mostrar u ocultar valores cero sin modificar la selección automática del ordenador de a bordo.
  • CAN OEM muestra los campos completos de DashBoardInfo, CabinInfo y LightInfo que la aplicación ya tiene
    verificados en la APK de la unidad, incluyendo puertas, cinturones, ventanas, techo, combustible, temperaturas y
    pedales. Se dejan fuera getters cuyo formato de respuesta no está confirmado.
  • El modo por defecto oculta ceros para facilitar la correlación de señales activas; se puede activar Mostrar 0 para
    comparar el estado completo.

1.13.3 — 16/08/2026

  • Se integró la pista del home OEM: el estilo original que muestra el coche recibe sus datos desde com.can.activity,
    cuyo contrato exportado publica ICanUI -> CanBusManager -> ICanBus.
  • La aplicación enlaza ese servicio solo si ya está activo, sin BIND_AUTO_CREATE, y lee de forma pasiva
    getDashBoardInfo, getCabinInfo y getLightInfo. Se incorporan velocidad, autonomía, consumo medio, RPM,
    temperatura exterior, refrigerante, puertas, intermitentes y cinturones cuando la unidad los expone.
  • La prioridad queda: CanBusManager OEM, CarService Jancar, Android Automotive público y GPS solo para velocidad.
    Se conserva el registro de procedencia y de los valores crudos para validar el resultado en la radio.
  • QA superada con tests unitarios, Lint y compilación debug. La validación final del Binder requiere probar la APK en la
    unidad con el servicio CAN OEM activo; si el servicio no está publicado, se mantienen los respaldos anteriores.

1.13.2 — 16/08/2026

  • Se verificaron en las APK exportadas de esta unidad los contratos Binder de CarService y RadioService. El lector
    de radio usa únicamente getFreq, getBand y getPSText; el ordenador de a bordo conserva los getters Jancar
    confirmados, Android Automotive público y GPS como fuentes ordenadas, sin iniciar servicios OEM ni escribir buses.
  • La velocidad GPS incorpora una estimación prudente entre posiciones GPS cuando el receptor no publica speed.
    Cada campo registra qué fuente fue finalmente seleccionada o si ninguna ruta ofreció un valor.
  • Se eliminó el falso estado de neumáticos: el getter correspondiente de este firmware devuelve siempre cero y no
    constituye evidencia de presión correcta. Los avisos verdes se basan solo en informes OEM realmente publicados.
  • La tarjeta de radio puede mostrar banda, frecuencia y texto RDS/PS publicados por el servicio OEM. Como el contrato
    no incluye un estado remoto de encendido, el diagnóstico advierte que puede tratarse de la última emisora sintonizada.
  • El lector multimedia vuelve a enlazar el NotificationListenerService, enumera sesiones/notificaciones activas y
    usa metadatos y controles únicamente cuando SpeedPlay publica una MediaSession Android estándar.
  • Las gasolineras aceptan cualquier red que Android publique con INTERNET y VALIDATED, aunque no sea la red
    predeterminada. Esto incluye Bluetooth PAN si la radio lo crea; la aplicación no puede activar el tethering del
    teléfono ni convertir por sí sola una conexión Android Auto en acceso IP.
  • Se inspeccionó el APK exacto de SpeedPlay: no expone un Intent, URI o comando verificable para enviar un destino a
    la proyección Android Auto. Las gasolineras abren Google Maps local y el diagnóstico documenta esta limitación.
  • Cada inicio de proceso sobrescribe un registro de sesión acotado a 512 KiB, sin coordenadas. Anota proveedores,
    valores crudos, fuente elegida, red, radio, multimedia y errores; USB DEBUG, la exportación OEM y la completa lo
    guardan además como e87_runtime_session_YYYYMMDD_HHMMSS.log.
  • QA superada: pruebas unitarias, Lint y compilación debug con SDK Android disponible.

1.13.1 — 16/08/2026

  • Se integró un adaptador de solo lectura para el CarService Jancar identificado en la APK exacta de la unidad. Usa
    únicamente transacciones getter verificadas, no crea el servicio, no registra callbacks y no escribe CAN, MCU o UART.
  • El ordenador de a bordo prioriza velocidad Jancar y puede leer consumo, RPM, autonomía y temperatura exterior;
    Android Automotive público y GPS permanecen como fuentes alternativas con caducidad acotada.
  • La barra inferior añade marcha atrás y mantiene ocultos los estados normales. El nuevo botón de listado abre avisos
    OEM/TPMS y mantenimiento, con estado azul, verde o naranja según disponibilidad y alertas reales.
  • Multimedia prioriza la sesión de SpeedPlay/Android Auto y habilita play/pausa, anterior y siguiente únicamente si la
    sesión anuncia las acciones estándar correspondientes. La radio conserva un botón seguro para abrir la app OEM
    cuando no publica metadatos.
  • GPS escucha proveedores GPS, red y pasivo. La tarjeta de gasolineras muestra la hora local de actualización y permite
    forzar un refresco no bloqueante mediante .
  • Diagnóstico incorpora PERMISOS, con estado de ubicación, Bluetooth y acceso multimedia, solicitud de permisos,
    apertura del panel de escucha de notificaciones y acceso a los ajustes de la aplicación.
  • La versión se ajusta al hardware real Android 13/API 30 observado, manteniendo compilación y target API 35.

1.12.0 — 16/08/2026

  • Las cuatro capturas físicas identificaron una unidad Rockchip rk3326_r/rk30sdk, API efectiva 30, ABI
    armeabi-v7a, 4 GB de RAM, heap de 192 MB y 42,4–45,0 MB PSS. La app diferencia ahora la etiqueta de firmware
    Android 13/15 de la compatibilidad real Android 11/API 30.
  • El diagnóstico inicial se sustituyó por un resumen legible en la pantalla de 9 pulgadas. El informe completo sigue
    disponible al exportar o compartir y añade autoridades, permisos, procesos y componentes OEM detallados.
  • Se añadió EXPORTAR DATOS OEM: con confirmación y una carpeta SAF autorizada guarda el inventario y copia los APK
    instalados relacionados con CAN, vehículo, CarService, cluster, MCU o marcha atrás. La extracción no carga APK,
    no enlaza servicios, no consulta URI desconocidas y continúa si un archivo individual falla.
  • La selección incluye tanto los núcleos observados (com.can.activity, com.jancar.services, launcher, radio y
    ajustes) como otros paquetes detectados por sus componentes. La copia está limitada a 100 MB por archivo y 250 MB
    por sesión; los binarios OEM no se publican en el repositorio.
  • El informe separa ordenador de a bordo y GPS: muestra procedencia, edad y disponibilidad de velocidad, autonomía,
    consumo, temperatura exterior y temperatura de motor; del GPS registra proveedor, activación, precisión y velocidad,
    pero omite coordenadas.
  • La sonda AAOS pública reconoce también RANGE_REMAINING (metros convertidos a km) e
    INSTANTANEOUS_FUEL_ECONOMY (L/100 km). En la radio Jancar convencional no se usan como sustituto del puente OEM.
  • La cuarta fila del ordenador de a bordo utiliza temperatura exterior en vez de la consigna del climatizador.
  • La investigación encontró implementaciones públicas del Binder de radio Jancar, pero no el contrato exacto de
    CanBusContentProvider/CarService; por seguridad todavía no se inicia ni enlaza ninguno.
  • La pantalla presenta dos acciones distintas: EXPORTAR RADIO / CAN para una extracción rápida y
    EXPORTACIÓN COMPLETA para inventariar y copiar todos los APK/splits legibles. La segunda admite hasta 16 GB en la
    USB de 20 GB indicada y mantiene un límite FAT32-compatible de 2 GB por archivo.
  • El inventario completo añade fingerprint, build, parche, kernel, ABI, funciones, bibliotecas, paquetes de
    actualización y resolución pasiva de SYSTEM_UPDATE_SETTINGS. Copia además los build.prop, prop.default y
    certificados OTA públicos que Android permita leer; nunca intenta particiones, datos privados, MCU o firmware Hiworld.
  • La barra ESTADO DEL VEHÍCULO deja de dibujar cinco estados vacíos. Solo aparecen estados reales y activos: luces
    encendidas, freno aplicado, cinturón sin abrochar y puertas abiertas. Estados normales o no disponibles quedan
    ocultos; una llave inglesa compacta y fija a la derecha abre el diagnóstico y sus herramientas.

1.11.1 — 15/08/2026

  • Los candidatos medios y fuertes del asistente USB DEBUG se guardan de forma atómica en el almacenamiento privado
    de la...
Read more

iDrive v1.13.4 — inspector CAN en vivo

Choose a tag to compare

@EMoyaP EMoyaP released this 16 Aug 12:53

Esta versión añade el inspector independiente DATOS CAN EN VIVO · FUENTES dentro de Debug. Permite seleccionar CAN OEM, JCRK01 / CYA, Android Automotive o GPS, actualizar cada segundo y mostrar u ocultar valores cero.

Para CAN OEM se muestran los campos completos de DashBoardInfo, CabinInfo y LightInfo verificados en la APK exportada de la radio. La pantalla es solo de lectura y no cambia la prioridad automática del ordenador de a bordo.

QA: clean, testDebugUnitTest, lintDebug y assembleDebug correctos. APK debug verificada con apksigner v1/v2. SHA-256: 9533944861E8C7EAC6DCD5BE19CA2DFB03BE1D39C4499D5D2751A6B36402DD20.

iDrive v1.13.3 — lectura OEM CanBusManager

Choose a tag to compare

@EMoyaP EMoyaP released this 16 Aug 12:46

Esta versión incorpora lectura pasiva del servicio OEM com.can.activity mediante ICanUI -> CanBusManager -> ICanBus. Lee velocidad, autonomía, consumo medio, RPM, temperatura exterior, temperatura del refrigerante, puertas, cinturones e intermitentes cuando la unidad los expone. No inicia el servicio, no escribe CAN/UART y mantiene Jancar/Android Automotive/GPS como respaldo.

QA: clean, testDebugUnitTest, lintDebug y assembleDebug correctos. APK debug verificada con apksigner v1/v2. SHA-256: DA9D75FD72562B1422360A1792CCFC6F8E6E731E6291FA10F93CC957E27358CE.

La aceptación final del Binder requiere probarla en la radio con el home OEM activo.

iDrive 1.13.2 — diagnóstico de sesión y redes Android

Choose a tag to compare

@EMoyaP EMoyaP released this 16 Aug 10:50

Versión de prueba para la unidad Rockchip rk3326/API 30. Añade registro de sesión exportable, selección de cualquier red Android validada (incluido Bluetooth PAN si el sistema la publica), lectura pasiva verificada de CarService/RadioService y diagnóstico detallado de SpeedPlay/MediaSession. No transmite CAN/MCU/UART ni activa protocolos OEM.

iDrive v1.13.1 · integración pasiva Jancar

Choose a tag to compare

@EMoyaP EMoyaP released this 16 Aug 09:45

APK de pruebas firmada para la unidad BMW E87 Rockchip RK3326 / Android API 30.\n\nIncluye integración Jancar de solo lectura, estados y avisos contextuales, controles MediaSession condicionados, GPS/gasolineras con refresco y centro de permisos. No escribe CAN, MCU ni UART. La radio OEM solo muestra emisora cuando la publica mediante APIs Android estándar.\n\nSHA-256: 8994E832DC991F1977DC2DE450621A902B2BEEF08AE9EE175AB73586C4718CF7

iDrive 1.12.0 · validación RK3326

Pre-release

Choose a tag to compare

@EMoyaP EMoyaP released this 16 Aug 08:25

Versión de validación para la unidad física Rockchip RK3326/API 30. Incluye barra de estado contextual con acceso por llave inglesa, diagnóstico legible, exportación enfocada Radio/CAN y exportación completa de inventario/APK públicos a una USB autorizada. La app sigue siendo una aplicación normal: no sustituye el launcher OEM y no transmite CAN, no escribe UART ni modifica MCU/Hiworld. APK firmada con clave debug para pruebas; no es una versión de producción.