L'application meurt au démarrage (la connexion au serveur a échoué)
J'ai une application Android que j'écris avec PhoneGap BUILD. L'application fonctionnait bien auparavant, mais il semble maintenant que j'obtienne cette erreur après avoir affiné mon application (certaines modifications de l'interface utilisateur uniquement)
1) Lorsque je lance l'application, j'obtiens (généralement):
Erreur d'application - La connexion au serveur a échoué. (fichier: ///android_asset/www/index.html)
Désolé s'il s'agit d'une duplication d'une question. J'ai vu des questions similaires ici, mais je n'ai pas trouvé de réponse ou de solution parfaite. Comme dans mon cas, cela fonctionnait bien jusqu'à mes derniers changements.
Dans votre fichier config.xml, ajoutez cette ligne:
la source
<preference name="loadUrlTimeoutValue" value="120000" />
est mieux par rapport à 700000, je veux dire si votre application ne sort pas dans deux minutes, alors il y a quelque chose qui ne va pas (et vous devriez le réparer en utilisant une autre solution). Vous ne voulez sûrement pas attendre environ 11 minutes pour voir si une application arrive ou non! (C'est pourquoi nous avons un concept de délai d'expiration en premier lieu, non? :-)) Selon le document, la valeur par défaut est 20000 (20 secondes)Voici la solution de travail
créer une nouvelle page main.html
exemple:
modifiez ce qui suit dans mainactivity.java
à
Maintenant, créez votre application et cela fonctionne sur n'importe quelle connexion lente
référence .
REMARQUE: il s'agit d'une solution de contournement que j'ai trouvée en 2013.
la source
index.html
pourmain.html
créer uneindex.html
page, puis ajouterwindow.location = './main.html'
. dans laindex.html
page. Cela devrait fonctionner.main.html
est léger et n'a pas de scripts à charger, initialisant ainsi l'application plus rapidement, puis chargeant les scriptsindex.html
. La fermeture</head>
était une faute de frappe, ajoutée maintenant.Veuillez supprimer les fichiers jQuery liés à distance tels que:
https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
Au lieu de cela, téléchargez ce fichier et chargez-le à partir de votre dossier js local, en faisant l'URI:
js/jquery.min.js
la source
Supprimez les scripts externes dans votre index.html
Change ça:
à
la source
J'ai eu un problème similaire et sur la base des suggestions ci-dessus, j'ai d'abord ajouté "super.setIntegerProperty (" loadUrlTimeoutValue ", 70000);" mais cela n'a pas aidé. J'ai donc essayé Project -> Clean, cela a fonctionné et je peux lancer l'application maintenant!
Avinash ...
la source
Essaye ça,
la source
J'avais la même chose sur mon projet.
J'ai essayé "super.setIntegerProperty (" loadUrlTimeoutValue ", 70000);" mais en vain.
Je me suis assuré que tous les fichiers étaient correctement liés [CSS, fichiers JS, etc.], j'ai validé le HTML à l'aide du validateur w3c [ http://validator.w3.org/#validate_by_upload ] et j'ai nettoyé le projet [Projet -> Nettoyer]
Il se charge et s'exécute maintenant sans la même erreur.
J'espère que cela t'aides
la source
L'extension de la limite de délai de chargement ne résoudra pas le problème qui a causé l'erreur, cela évitera simplement au système d'afficher le message, mais les performances seront affectées de quelque manière que ce soit.
Raison réelle: il se peut que vous liez des fichiers ou des images à des emplacements distants et que ces ressources prennent trop de temps à charger. (c'est probablement l'erreur la plus courante)
Solution définitive: déplacez tous les scripts, images et css nécessaires dans certains dossiers locaux et chargez-les localement ...
Les performances seront augmentées et l'erreur sera efficacement résolue.
la source
résoudre ce problème sur une application ionique, ajoutez simplement
dans votre fichier config.xml immédiatement après cette ligne
la source
Vérifiez votre
index.html
fichier. Si vous utilisez des ressources externes, qui ne sont pas disponibles lorsque vous exécutez l'application, vous pouvez obtenir cette erreur.Dans mon cas, j'ai oublié de supprimer le lien sur le script du débogueur (weinre).
Donc, l'application a fonctionné sur l'émulateur car elle
http://192.168.0.102:8080/
était sur mon hôte local et disponible pour l'émulateur.Mais lorsque j'ai configuré l'application sur un téléphone mobile, j'ai eu la même erreur, car 192.168.0.102 n'était pas disponible sur le réseau mobile.
la source
Dans mon cas, j'utilise ionic et j'ai simplement fermé la boîte de dialogue pour accéder aux applications de l'émulateur et exécuter mon application à partir de là. Cela a fonctionné. J'ai eu l'idée de ça d'ici car c'était juste un problème de temps mort.
la source
Si vous utilisez Visual Studio. Après avoir changé config.xml, vous en avez parfois besoin
Ça marche pour moi.
la source
Pour mon cas, le problème était dû à la perte de la connexion Internet dans mon WiFi.
la source
J'étais confronté au même problème. J'ai remarqué que dans mon index j'avais à la fois la fonction "sur l'appareil prêt" et la fonction "document.ready", donc la suppression de l'une d'entre elles a résolu mon problème :)
la source
Une autre raison pour laquelle cette erreur peut se produire est: il n'y a pas
index.html
de.../YourApp/www/
!Je viens de suivre le guide ionique , et l'une des étapes est:
Sur iOS, ce n'est pas un problème car lors de la construction, le compilateur utilise du HTML par défaut à la place. Cependant, lors de la construction pour Android, AUCUN exemple
index.html
n'est utilisé. Il m'a fallu un certain temps pour le savoir ("POURQUOI ça marche sur iOS, mais pas sur Android ...?)Solution simple: créez un index.html, enregistrez-le sous
.../YourApp/www
, reconstruisez ... et voilà!la source