12 votes

Problèmes d'accès aux journaux de messages sur Jelly Bean avec aLogcat

Résumé

J'ai eu des problèmes pour accéder aux messages du journal K9 en utilisant aLogcat, voir ci-dessous pour plus de détails. Ce que je voudrais savoir, c'est :

  • Pourquoi aucun message de K9 n'apparaît dans la visionneuse de journaux aLogcat ?
  • Quelqu'un a-t-il une idée de la façon dont je peux voir le texte complet des erreurs qui se produisent lorsque j'essaie de synchroniser mes dossiers K9 ?
  • Est-ce que quelque chose a pu changer dans Jelly Bean et faire en sorte que l'enregistrement du K9 ne fonctionne plus ?
  • Puisqu'il semble y avoir remarquablement peu de messages affichés par aLogcat en général, est-ce que quelque chose a changé dans Jelly Bean qui pourrait signifier qu'il n'est plus capable d'accéder à tous les messages ?

Détail

J'ai récemment eu des problèmes de connexion avec K9. Mes dossiers ne se synchronisent pas et la liste des dossiers est pleine d'erreurs de connexion ( libcore.io.ErrnoException: ) ou des erreurs ssl ( javex.net.ssl.SSLException: ) etc. où le dernière heure vérifiée devrait être. Je reçois des messages différents selon le problème qui se produit à ce moment-là, mais je ne peux pas voir le texte complet du message d'erreur, il est donc difficile de deviner quelle en est la cause.

Pensant que les fichiers journaux pourraient contenir plus d'informations, j'ai suivi les instructions à l'adresse suivante Enregistrement d'un journal de débogage activé la journalisation de débogage dans K9, installé aLogcat et j'ai essayé de regarder les journaux. Malheureusement, quel que soit le tampon de journal que je sélectionne ( Principal , Événements o Radio ), il ne semble pas y avoir de messages de K9.

Si j'ajoute la suggestion (k9|AndroidRuntime) alors je ne vois rien dans cualquier des journaux. Si je le supprime, alors Principal contient principalement des messages de collecte de déchets, Événements semblent contenir principalement des messages provenant d'aLogcat lui-même et je n'ai pas vu de message de journal en Radio encore.

Si cela fait une différence, j'utilise une Nexus 7, mais j'aurais pensé que l'enregistrement se ferait à un emplacement standard qui ne changerait pas entre les versions d'Android.

25voto

Lloyd Meinholz Points 1520

Quelqu'un a-t-il une idée de la façon dont je peux voir le texte complet des erreurs qui se produisent lorsque j'essaie de synchroniser mes dossiers K9 ?

Il semble qu'il n'y ait aucun moyen de voir ces messages d'enregistrement. sur l'appareil ohne Accès à la racine mais si vous avez l'accès Root, il y a deux options, soit accorder les permissions requises a aLogcat ou envisager d'utiliser un horrible hack TM pour les visualiser directement.

Visualisez les fichiers journaux sur votre PC ou votre poste de travail via adb

Si vous pouvez connecter votre appareil Android à un PC ou à une station de travail, vous pouvez alors accéder aux journaux via l'interface de l'appareil. adb commandement.

Pour ce faire, sous Windows, vous devez tout d'abord installer l'application SDK Android (ce qui nécessitera le SDK Java SE ) et ajoutez le android-sdk\tools y android-sdk\platform-tools a le chemin du système . Ensuite, activez le débogage USB sur votre Nexus 7, branchez-la via USB et installez l'application Interface Android Composite ADB de android-sdk\extras\google\usb_driver (J'ai dû forcer Windows XP à regarder ici, il ne voulait pas trouver les pilotes tout seul).

Pour plus de détails sur la façon d'obtenir adb sans l'installation complète du SDK Android, ou sur des machines Mac ou Linux, voir L'excellente réponse d'Izzy à Existe-t-il une installation minimale d'ADB ?

Ensuite, vous pouvez ouvrir un shell (c'est-à-dire un fichier cmd ) et exécutez la commande :

adb logcat k9:V *:S AndroidRuntime:E
  • J'ai confirmé que cela fonctionne sur ma Nexus 7 non enracinée.

Accordez des autorisations à aLogcat

Si vous avez Accès à la racine vous pourriez envisager d'accorder le READ_LOGS la permission de aLogcat comme suggéré dans ce post aLogcat/CatLog/Lumberjack ne fonctionne pas ? Faites ceci ... sur le forum xda-developers :

pm grant <pkg> android.permission.READ_LOGS

Pour accorder cette permission à alogcat o alogcat.donate vous devez utiliser l'une des commandes suivantes, selon que vous utilisez la version donateur ou non :

pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
pm grant org.jtb.alogcat android.permission.READ_LOGS

Selon un post sur Développeurs Android et le billet la permission accordée survit au redémarrage et à la mise à jour, mais pas à la désinstallation/réinstallation.

Malheureusement, comme cela nécessite un accès Root, que je l'exécute sur l'appareil ou sur mon PC (préfixé par adb shell ) Je reçois juste l'erreur :

Neither user 12345 nor current process has android.permission.GRANT_REVOKE_PERMISSION
  • Je ne peux pas confirmer que cela fonctionne, car ma Nexus 7 n'a pas été rootée.

Envisagez d'utiliser un horrible hack TM

Si vous avez Accès à la racine vous pourriez envisager de faire logcat setuid Root et en exécutant logcat depuis le shell du périphérique, comme suggéré dans cette réponse à mon Comment puis-je accéder aux fichiers journaux Android sur ma Nexus 7 sans accès Root ? Frage:

chmod 04755 /system/bin/logcat
logcat k9:V *:S AndroidRuntime:E
  • Encore une fois, je ne peux pas confirmer que cela fonctionne et je ne l'utiliserais probablement qu'à titre d'exemple. dernier recours étant donné les implications en matière de sécurité.

Pourquoi aucun message de K9 n'apparaît dans la base de données de l'entreprise ? aLogcat visionneuse de journaux ?

Est-ce que quelque chose a pu changer dans Jelly Bean et faire en sorte que l'enregistrement du K9 ne fonctionne plus ?

Puisqu'il semble y avoir remarquablement peu de messages montrés par aLogcat en général, est-ce que quelque chose a changé dans Jelly Bean qui pourrait signifier qu'il n'est plus capable d'accéder à tous les messages ?

Il semble qu'il s'agisse d'un changement dans Jelly Bean qui affecte toutes les applications qui peuvent essayer de lire les fichiers journaux.

Apparemment La permission READ_LOGS n'est pas accordée aux applications tierces dans Jelly Bean. . Puisque ce lien ne semble pas être fiable :

Aujourd'hui, j'ai testé mon application sur l'émulateur le plus récent (api 16) avant de la publier sur Google Play. Il s'est avéré qu'Android refuse désormais d'accorder cette permission aux applications tierces. C'est bizarre car j'ai regardé tous les changements documentés de Jelly Bean et je n'ai rien trouvé qui mentionne la permission READ_LOGS.

et plus tard

Le niveau de protection pour READ_LOGS est maintenant "signature|system|development". La nouvelle syntaxe pipe pour protectionLevel est également non documentée (voir http://code.google.com/p/Android/issues/detail?id=34785 ).

Je soupçonne que aLogcat ne voit que les messages générés par lui-même et son vm.

Pour plus d'informations, voir Réponse sur le débit à ma question Quel est le niveau d'activité du fichier journal du système Jelly Bean ?

0voto

Chris Roberts Points 7543

J'ai vu ce comportement dans K9 lorsque mon serveur de messagerie a mis à jour ses certificats SSL. La solution était d'appuyer longuement sur le compte, de sélectionner Account settings -> Fetching mail -> Incoming server et frappe juste Next Parcourez les pages pour confirmer vos paramètres jusqu'à ce que vous obteniez la fenêtre contextuelle concernant le certificat (celle-ci peut ne pas apparaître si tout est OK avec le certificat, le mien avait un mauvais serveur virtuel). Confirmez le certificat et procédez au reste des réglages et votre compte devrait commencer à fonctionner.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X