Descubre por qué aparece el error net :: ERR_CACHE_MISS en tu consola cuando intentas cargar algo desde una URL en cordova.

net :: ERR_CACHE_MISS: no se pueden cargar URL externas en Cordova Android

Si intenta ejecutar las tareas ajax más normales en su proyecto y no puede cargar ningún recurso externo (imágenes de Internet, archivos, etc.) porque encontrará ese problema estúpido net :: ERR_CACHE_MISS, entonces está en el lugar correcto si quieres resolverlo rápidamente. Este error es bastante común y la razón es, de hecho, muy estúpida.

¡No tenemos acceso a Internet!  por lo tanto, debemos solicitar el permiso correcto de nuestro archivo AndroidManifest.xml. Sin embargo, no haremos los cambios directamente en el archivo AndroidManifest.xml, sino que los agregaremos config.xml el cordova-custom-configcomplemento como una buena práctica.

Agregar permisos de Internet

Aunque si usa el complemento de lista blanca, esto debería otorgarle automáticamente el permiso. Intente eliminar todos los complementos de sus proyectos, elimine la plataforma Android y agréguela nuevamente (incluidos los complementos) y eso debería resolver el problema. Recuerde que debe hacer esto solo si usa un complemento que ya debería agregar el permiso (como cordova-plugin-whitelist).

Sin embargo, siempre hay excepciones, si este es su caso, deberá realizar algunos cambios en su config.xmlarchivo. Pero no puede simplemente agregar el permiso en config.xml ya que no funcionará.

Para agregar permisos, deberá instalar el siguiente complemento: cordova-custom-config. Este complemento le permitirá agregar cualquier tipo de configuración a su archivo AndroidManifest.xml desde su config.xml(puede agregar directamente los permisos en el archivo AndroidManifest.xml, sin embargo, esta no es una buena práctica ya que perderá todos los cambios en cada compilación). Para instalar el complemento, utilice:

cordova plugin add cordova-custom-config
# O si estás usando phonegap
phonegap plugin add cordova-custom-config

Después de la instalación, solo agregue las siguientes líneas en su config.xmlarchivo:

<!-- Tenga en cuenta que las líneas deben estar dentro de la plataforma Android -->
<platform name="android">
   <config-file target="AndroidManifest.xml" parent="/*">
      <uses-permission android:name="android.permission.INTERNET" />
      <!-- Y si necesitas más cosas sobre Internet
         <uses-permission android:name="android.permissions.NETWORK_ACCESS" />
         <uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
      -->
   </config-file>
</platform>

Ahora cree su aplicación nuevamente e intente ejecutar una solicitud externa, todo debería funcionar normalmente ahora. Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores