web-dev-qa-db-fra.com

ionic 3: écran noir avec application Android sur l'appareil

Hier, j'ai construit et exécuté mon application sur mon appareil Android et cette version a bien fonctionné.

Depuis, j'ai amélioré mon application (vue du contenu et contrôleur de certains modules) et aujourd'hui, j'ai un écran noir sur l'appareil.

Tests où l'application est OK

  • Quand j'exécute ionic serve
  • Quand je construis une autre application ionique (pas celle-ci) et que je tourne

Tests lorsque l'application échoue sur l'appareil

  • Quand j'exécute ionic cordova run Android --debug
  • Quand j'utilise la même version comme hier
  • Quand j'essaie de reconstruire une version déjà étiquetée (donc qualifiée et testée)

Je pense que ma configuration de construction est peut-être corrompue mais je ne sais pas comment.

J'ai essayé de:

  • supprimer et rajouter une plateforme Android
  • réinstaller tous les modules NPM

mais rien de ces étapes ne résout le problème.

Sur l'appareil, je ne peux pas accéder à l'outil "Inspecter l'appareil" de Chrome pour voir si j'ai un problème avec JS.

Avez-vous une idée pour résoudre mon problème s'il vous plaît?

MODIFIER

Après plus de tests, j'ai trouvé le comportement suivant:

Si je change l'ID de <widget id="new-app-id"> dans config.xml, l'application fonctionne correctement sur l'appareil!

Une idée sur ce comportement?

Merci!

6
clem

Après de nombreux tests et recherches, j'ai trouvé la cause du problème et je peux le résoudre.

Solution

Supprimez le plugin cordova-plugin-facebook4 et rajoutez-le avec la version SDK VERSION au 4.35.0 Pour les anciennes versions de cordova-Android, la version doit être définie comme décrit ici

Alors, lancez:

ionic cordova plugin remove cordova-plugin-facebook4
ionic cordova plugin add cordova-plugin-facebook4 --variable APP_ID="<APP-ID>" --variable APP_NAME="<APP-NAME>" --variable Android_SDK_VERSION="4.35.0"

Cause première

Comme décrit dans ce post , la version 4.36.0 du kit de développement logiciel (SDK) Facebook n'est pas stable et provoque le blocage du thread principal.

Ce comportement est visible sur mon application (avec les "outils de contrôle" du SDK Android)

11
clem

La raison en est que certaines applications avec votre ancien identifiant d'application (nom du paquet) sont déjà installées sur votre périphérique. Désinstallez cette application et essayez avec votre ancien identifiant d'application. Cela devrait fonctionner.

0