Páginas

miércoles, 13 de agosto de 2025

Corrigiendo un Bug de Android 14 con IA y Cursor AI

OkeyPay Verifica Bug en el S25Ultra con Android15

En este artículo te muestro cómo resolví un bug crítico en mi app OKPay Verifica usando IA y Cursor AI. El problema afectaba a Android 14 (API 34) y superior, causando que la app se abriera y cerrara de inmediato.

El problema

  • En Android 14, la app crasheaba al iniciar en ciertos modelos (Samsung S24, S25, A15, S24+, etc.).
  • Funcionaba bien en versiones anteriores (Samsung S10, A71, Redmi 10C, S32).
  • Google Play Console reportaba el crash con logs específicos.

Investigación

  • Revisé reportes de testers (tenemos +10).
  • Analicé el código en MainActivity, InstallationService y AndroidManifest.xml.
  • Sospecha: cambios en la gestión de servicios en primer plano (Foreground Service) en Android 14.

Usando Cursor AI para depuración

  1. Abrí el proyecto Android en Cursor AI.
  2. Preparé un prompt detallado:
    • Descripción del bug.
    • Dispositivos afectados.
    • Archivos clave.
    • Log de error completo.
  3. Le pedí que actuara como Dev Senior Android y priorizara compatibilidad con Android 14+.

Hallazgos de la IA

  • El crash se debía al uso de foregroundServiceType="sync", no permitido en API 34.
  • Se debía usar foregroundServiceType="specialUse" y permisos adicionales.
  • Ajustes propuestos:
    • Modificar AndroidManifest.xml.
    • Agregar permisos correctos.
    • Mejorar InstallationService con manejo de excepciones (try-catch).
    • Ajustar prioridad de notificaciones (low en lugar de default).

Cambios clave en el código

En AndroidManifest.xml

- android:foregroundServiceType="sync"
+ android:foregroundServiceType="specialUse"

Aprendizajes y advertencias

  • No aceptar ciegamente lo que propone la IA.
  • Entender los cambios antes de aplicarlos (p. ej., bajar prioridad de notificaciones puede permitir que el usuario cierre el servicio en segundo plano).
  • Mantener control de commits y revisar diferencias en Git.

Próximos pasos

  • Implementar Crashlytics para monitoreo en tiempo real.
  • Ampliar pruebas con más testers.
  • Subir versión 1.11 con fix para Android 14+.

Conclusión

La combinación de experiencia técnica + IA agiliza la depuración.
La clave: un prompt claro, conocimiento del contexto y revisión humana.

Video explicativo

Aquí puedes ver todo lo que explicamos en acción.

Referencias

No hay comentarios:

Publicar un comentario