173 votes

Pourquoi vois-je des erreurs net:: ERR_CLEARTEXT_NOT_PERMITTED après la mise à niveau vers Cordova Android 8?

Après la mise à niveau vers Cordova Android 8.0, je rencontre des erreurs net::ERR_CLEARTEXT_NOT_PERMITTED lorsque j'essaie de me connecter à des cibles http://.

Pourquoi cela et comment puis-je résoudre ce problème?

18voto

Sushil Points 64

Après quelques jours de lutte, cela fonctionne pour moi et j'espère que cela fonctionnera également pour vous.

ajoutez ceci à votre CONFIG.XML, en haut de votre code.

et ceci, sous la plateforme android.

ajoutez le code suivant à ce fichier "resources/android/xml/network_security_config.xml".

        localhost
        YOUR DOMAIN HERE/IP

enter image description here

enter image description here

0 votes

Pouvez-vous répondre s'il vous plaît ? stackoverflow.com/questions/59116787/…

1 votes

Merci pour votre solution, c'est la seule qui a fonctionné pour moi.

0 votes

Merci, c'est la seule solution qui a fonctionné pour moi aussi.

15voto

DCGoD Points 2848

Ajouter l'attribut suivant à l'intérieur de la balise d'ouverture < widget > a fonctionné pour moi. Les rechargements simples et en direct fonctionnent correctement sur un émulateur Android 9. xmlns:android="http://schemas.android.com/apk/res/android"

2 votes

Je n'ai pas réalisé lorsque j'ai vu cette réponse, mais ceci est en plus de le code edit-config de la réponse acceptée (corrige l'erreur unbound prefix)

0 votes

@RishiG maintenant c'est une réponse qui explique la bonne réponse complète

0 votes

@zardilior Oui, félicitations à lui pour avoir détourné la réponse lors d'une édition... lol

11voto

Rajendra Points 131

Je suis en train d'utiliser IONIC 5.4.13, cordova 9.0.0 (cordova-lib@9.0.1)

Je pourrais répéter des informations, mais pour moi le problème a commencé à apparaître après avoir ajouté un plugin (pas encore sûr). J'ai essayé toutes les combinaisons ci-dessus, mais rien n'a fonctionné. Ça a commencé à fonctionner uniquement après avoir ajouté :

dans le fichier du projet à

resources/android/xml/network_security_config.xml

donc mon fichier network_security_config.xml ressemble maintenant à :

        localhost
        10.1.25.10

Merci à tous.

0 votes

Comment cela diffère-t-il de la ou des solutions Ionic existantes ?

0 votes

La situation est différente. rappelez-vous que les gens viennent ici grâce à une recherche sur Google. il pourrait y avoir différentes situations et paramètres dans lesquels ils se retrouvent confrontés à ce problème. dans mon cas, mon projet fonctionnait parfaitement et il a simplement commencé à donner cette erreur même si je n'ai pas effectué de mise à jour de la plateforme ou du périphérique.

0 votes

Parce que les gens arrivent ici depuis une recherche Google, il est dans l'intérêt de tous de présenter une liste utile de solutions et non pas de nombreuses duplications qui ne font que de petits ajustements. Au lieu de cela, vous devriez essayer d'améliorer une réponse existante.

9voto

stodi Points 431

Après avoir lu toute la discussion à la recherche d'un moyen d'autoriser la communication à toutes les adresses IP comme dans mon cas où l'adresse IP vers laquelle la requête sera envoyée est définie par l'utilisateur dans un champ texte et ne peut pas être définie dans le fichier de configuration. Voici comment j'ai résolu le problème

Voici la configuration

config.xml

...

...

resources/android/xml/network_security_config.xml

La partie la plus importante du code est dans au lieu de domain-config

0 votes

Définir l'élément base-config a résolu le problème, merci beaucoup!

7voto

mustafa mohamed Points 85

Vous devriez ajouter

à

resources/android/xml/network_security_config.xml

comme ceci

    localhost

0 votes

Pourquoi est-ce important?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X