Quantcast

[Solución] "Ionic cordova run android" devuelve error: syntaxerror unexpected token i in json at position 0

Aitor Sánchez - Blog - Oct. 26, 2023, 9:40 a.m.

Mira, si que estás teniendo el error "syntaxerror unexpected token i in json at position 0" al ejecutar el comando "Ionic cordova run android" ¿verdad? Pues sigue leyendo, quizás esto te interesa.

Mi nombre es Aitor Sánchez, desarrollo apps desde el año 2014 y en este artículo aprenderás cómo dar una patada al error y conocerás, a parte, cual es la causa que lo origina.

Pero antes de continuar, esta es la Flutter Mafia. Es mi newsletter donde aprenderás desarrollo de apps móviles, aso y monetización junto con otros genietes que ya están dentro. Y si te suscribes te regalo mi ebook "Duplica los ingreso de tus apps en 5 minutos" No es broma, quizás te interese.

 

¿Cómo lo solucionas?

Lo único que tendrás que hacer es dirigirte a la siguiente ruta:

"C:\Users\<MyUser>\ .ionic\"

Y una vez allí borrar el siguiente archivo:

"update.json"

Una vez borrado, recompilamos e instalamos de nuevo la aplicación. Y listo, ya estaría todo funcionando.

 

¿Por qué te sucede?

Hay dos opciones:

  1. Que el archivo Json se haya corrompido por alguna razón. Ya sean los dos puntos, las comillas o lo que sea.
  2. Que el archivo haya cambiado de codificación. (Dejando de ser UTF-8)

 

Ahora te voy a mostrar varias opciones adicionales. Puede ser que, si no se ha solucionado tu problema con alguna de las anteriores, con estas sí que lo consigas. Vamos con ello.

 

Verifica tu package.json y otros archivos JSON

Asegúrate de que todos tus archivos Json estén bien formateados y no contengan errores tipográficos. A parte, cerciórate de que su codificación sea UTF-8.

Puedes utilizar herramientas de validación de JSON online para verificar si hay errores. Herramientas cómo esta.

 

Revisa la salida completa del error

A menudo, la salida completa del error te proporciona más contexto sobre dónde ocurrió el problema. Puede ser que esté relacionado con un plugin específico de Cordova o alguna otra parte del proceso de compilación.

Puedes aumentar la información de salida agregando la flag "--verbose" al comando "ionic cordova run android". Quedaría algo así:

 

ionic cordova run android --verbose

 

Ahora, revisa bien toda la información que te reporte y seguro que podrás encontrar una pista para tirar del hilo hasta que encuentres el problema.

 

Reinstala la plataforma Android

Cuando Ionic trabaja con tal cantidad de archivos, al realizar alguna operación en alguno de ellos, de las tantas miles que hace, puede corromperlo y por esto puede aparecer el error.

He visto este error en más de una ocasión y la solución rápida, sencilla y efectiva, es reinstalar la plataforma de raíz.

 

ionic cordova rm android
ionic cordova add android

 

Limpiar cache de NPM

Similar al caso anterior. Al cerrar el archivo después de realizar la lectura en la compilación, puede haber quedado corrupto cómo consecuencia. Por esta razón, borrar la cache y reinstalar los plugins de npm de manera global puede solucionar tu problema.

Para hacerlo:

 

npm cache clear --force

 

 

Reinstalar el node_modules de tu proyecto

Hilando un poco más fino, si el caso anterior tampoco te funciona, eliminar y reinstalar de tu aplicación los componentes y módulos externos, también puede ayudarte.

Para hacerlo, primero y por seguridad, realiza una copia de seguridad de tu proyecto en un archivo .zip por ejemplo:

1) Te colocas sobre la carpeta que contiene tu proyecto, no dentro, si no sobre, con el puntero de tu consola.

2) Ejecutas el siguiente comando:

Linux/Mac:

// zip -r <nombre de mi archivo .zip> <directorio que quiero comprimir>
zip -r copia_seguridad_app.zip directorio_app

 

Windows powersheel:

Compress-Archive -path <path absoluto de la app> -DestinationPath <path donde poner el zip>
Compress-Archive -path C:\proyectos\my_app -DestinationPath C:\proyectos\my_app\copia_app.zip

 

Actualiza Ionic y Cordova

Un paso genérico pero que nunca está de más que pruebes para ver si soluciona el problema.

Ejecuta el siguiente comando:

npm install -g ionic cordova

 

Verificar el log de depuración

Aunque de manera natural, los expertos hacemos esto cómo primera opción para ir directamente al problema y solucionarlo. Una persona menos experta debe de realizar todos los pasos previos hasta este previamente.

Busca en el archivo "npm-debug.log" posibles problemas que pueda estar habiendo con los componentes instalados.

El archivo, por defecto, estará dentro de la carpeta "npm-cache" de tu instalación de npm.

En mi caso:

"C:\Users\ciber\AppData\Local\npm-cache\_logs"

 

Verificar el entorno de NodeJS

Si nada de lo anterior ha funcionado, y has llegado hasta aquí, solo puedo decirte que verifiques si estás teniendo problemas de incompatibilidad con las versiones de Node.

Comprueba cuales son las versiones de Ionic y Cordova que debes utilizar, o cambia tu versión de Node para que coincidan.

 

Algo más que quizás te interese

Mira, en el momento que tu mejoras el logo de una app que tengas publicada en Google Play, las descargas y los ingresos que esta aplicación genera aumentan. Esto es así. Mejor logo es igual a más dinero.

Basándonos en esto, hemos creado esta herramienta que te permite evaluar, optimizar y mejorar los logos de tus apps para que reciban más descargas. No te quiero espoilear, dentro hay un video explicativo. Entra en el enlace.

 

Geniete, hasta aquí el artículo. Espero haberte ayudado a solucionar tu problema con el maldito Json y nos vemos en el siguiente. Hasta entonces ¡que te vaya bien!