Je suis un noob total en programmation Android et je voulais apprendre à déboguer mes applications. Je n'arrive pas à afficher mes appels Log.i | d | v dans LogCat.
Voici le code que j'utilise. Comme vous pouvez le constater, j'ai défini une constante LOG_TAG, mais je n'arrive pas à la trouver dans le LogCat. J'ai également importé Android.util.Log ET je me suis assuré que, dans mon AndroidManifest, le paramètre "debuggable" était défini sur TRUE.
J'ai également vérifié http://developer.Android.com/reference/Android/util/Log.html w/o aucun chance de résoudre ce problème.
Qu'est-ce que je fais mal? Est-ce que je cherche même au bon endroit? J'ai aussi essayé d'utiliser la perspective DDMS et Debug sans aucune chance. Toute aide à ce noob serait grandement appréciée. Merci.
Mon environnement: Windows XP
// code HELLO World très basique avec quelques appels Log.i
import Android.app.Activity;
import Android.os.Bundle;
import Android.util.Log;
public class debugger extends Activity {
private static final String LOG_TAG = "debugger";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(LOG_TAG, "line 13");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i(LOG_TAG, "CREATING NOW");
}
}
Lorsque vous utilisez Eclipse, dans la perspective DDMS, assurez-vous que le périphérique approprié (probablement émulator-xxxx) est sélectionné et mis en surbrillance. Ce n'est qu'alors que vous obtiendrez la sortie logcat dans la vue logcat.
En outre, le plug-in Android est un peu bizarre et ne montre parfois que la dernière ligne de la vue logcat. Si cela se produit, essayez d'effacer le journal. Après cela, vous devriez obtenir à nouveau toutes les entrées du journal (ça fonctionne quand même pour moi).
J'ai fait tout ce qui précède et je ne pouvais pas comprendre ce qui n'allait pas,
Test avec:
adb logcat
pour comprendre que mes entrées étaient en fait dans logcat, mais les bizarreries de l'add.
Réparer:
Redémarrez Eclipse
C'était la seule chose qui l'a corrigé.
J'ai eu le même problème avec Android Studio et j'ai réussi à me déplacer en sélectionnant No Filters
dans la zone de sélection située dans le coin supérieur droit de LogCat. En faisant cela, j'ai commencé à recevoir tous les journaux Android en arrière-plan dans LogCat, y compris les appels de journal manquants.
Redémarrez Eclipse et vérifiez que le journal du chat s’affiche.
J'ai découvert que j'importais automatiquement com.sileria.Log (à partir d'un projet de bibliothèque) au lieu de Android.util.Log , où ce dernier était le bon. Vérifiez également vos importations.
J'avais besoin de redémarrer le service adb avec la commande adb usb
Avant cela, j’étais en train de journaliser et de déboguer, mais je n’avais pas mes propres lignes de journal (oui, la journalisation système était associée à mon application).
J'ai remarqué qu'Eclipse lève parfois une exception au démarrage d'une application Android, puis LogCat arrête la mise à jour. J'ai corrigé cela en redémarrant simplement Eclipse. Je ne sais pas si vous avez essayé cela et je sais que c'est loin d'être une solution optimale, mais je soupçonne que le plugin Eclipse a encore quelques bugs à résoudre.
Manière la plus simple:
Vérifiez dans votre fenêtre logcat - Bouton PAUSE dans le coin supérieur droit || (Suspendre la réception des nouveaux messages logcat)
Quelques clics + éventuellement redémarrer Eclipse (fonctionne généralement dans mon cas)
Vous pouvez ne pas voir les journaux pour un certain nombre de raisons, dont la plupart sont énumérées ci-dessous. Voici quelques étapes pour vérifier la plupart des raisons:
Sur Android Studio: Cliquez sur la flèche verte qui pointe vers la droite pour redémarrer la journalisation. s'il n'est pas visible, cliquez sur les icônes >> pour le localiser.
S'il vous plaît aller au gestionnaire de tâches et tuer le processus adb.exe. Redémarrez votre Eclipse à nouveau.
ou
essayez adb kill-server puis adb start-server command.
SOLUTION RAPIDE.
Il suffit de redémarrer l'Eclipse
Fonctionne parfaitement.
Il y a encore une chose à surveiller:
En haut à droite de logcat se trouve un menu déroulant pour filtrer les messages par type. Assurez-vous qu'il est au niveau que vous recherchez (s'il sera au niveau des assertions, votre logcat sera probablement vide).
Ce n'est probablement pas correct et un peu plus long, mais j'ai résolu ce problème (Android Studio) en utilisant ceci:
System.out.println("Some text here");
Comme ça:
try {
...code here...
} catch(Exception e) {
System.out.println("Error desc: " + e.getMessage());
}
Je suis également novice sur Android-Eclipse. Voici ce qu'il m'a fallu pour que les messages LogCat soient affichés dans Eclipse: 1: ajoutez ceci à la classe dans laquelle le message logcat est appelé: Private static final String TAG = "MyActivity"; (selon la documentation ici )
2: ajoutez ce Log.i (TAG, "inLayout - completed"); quand vous où vous voulez afficher un message
Si cela ne fonctionne pas, fermez Eclipse, redémarrez-le et réexécutez votre projet.
Cela devrait alors fonctionner.
J'ai passé plusieurs heures sur un tel cas. Je n'ai vu que des journaux de touches tactiles. Rien de plus. Le problème était ... smarthphone. Après le redémarrage était OK. La déconnexion du câble est à l'origine du problème. J'ai dû le redémarrer à nouveau . On dirait que la communication USB Android n'est pas bien conçue.
Pour Eclipse: 1) Allez dans la perspective ddms . 2) Assurez-vous que le bon périphérique est sélectionné . 3) Si déjà sélectionné et n’affiche pas les journaux, redémarrez ABD . * résoudre.
La meilleure solution pour moi était redémarrer le serveur adb (alors que j'ai activé l'intégration ADB dans Android studio - Outils - Android - cochée). Pour faire cela rapidement, j'ai créé un fichier adbr.bat
dans le répertoire Android-sdk\platform-tools
(où se trouve le adb.exe
) avec ceci à l'intérieur:
adb kill-server
adb start-server
Parce que j'ai ce dossier dans la variable système PATH, toujours lorsque j'ai besoin de redémarrer adb
depuis le studio Android, je ne peux écrire que dans le terminal adbr
et c'est fait.
Vous pouvez également le faire via Moniteur de périphériques Android dans l'onglet Périphériques - Menu après avoir cliqué sur la petite flèche à droite - Réinitialiser un adb.
J'ai commis l'erreur de taper un terme de recherche dans le champ de recherche logcat ..__ J'ai oublié de le supprimer et je ne pouvais donc pas voir les nouveaux journaux. Comme ils ne correspondaient pas à mon terme de recherche et n'étaient pas affichés.
J'avais rencontré ce problème et rien ne semblait fonctionner jusqu'à ce que l'appel du journal soit transféré dans un gestionnaire. Maintenant, cela fonctionne à chaque fois, peu importe où vous vous trouvez.
À l'aide du SDK 4.0.3, vous devez le sélectionner explicitement dans les configurations de débogage> projet> cible. Sinon, il ne s'affichera jamais avec Eclipse Indigo (3.7). Bien sûr, un redémarrage Eclipse s'ensuit.
Dans mon cas, j'ai dû supprimer cette ligne:
<application
Android:debuggable="false" <!-- Remove this line -->
..../>
À partir de la balise d'application dans mon fichier manifeste.
J'ai également eu du mal à voir une sortie de journal simple dans logcat. Mon problème a été résolu lorsque j'ai installé le dernier JDK. Je viens d'installer une nouvelle machine de développement et seul le JRE installé et l'installation du JDK ont fonctionné pour moi.
faites que votre application ferme de force une fois.
utilisez ceci pour la force proche: D
setContentView(BIND_AUTO_CREATE);
Aucune des autres réponses n'a fonctionné pour moi, mais cela a fonctionné:
J'ai supprimé mon projet de mon espace de travail, puis tout élément commençant par un point (paramètres, .project, etc.) du dossier du projet. Ensuite, j'ai réimporté le projeté. Il me manque des paramètres et des points d'arrêt, mais au moins cela fonctionne.
Dans mon cas, je devais juste ajouter un nom à la chaîne. En première instance, je viens d'avoir un espace entre les crochets
private static final String TAG = " ";
mais après avoir ajouté un nom, cela a parfaitement fonctionné.
private static final String TAG = "oncreate";
J'ai également redémarré le service ADB avec "adb usb" et corrige le problème pour moi. En fait, une seule de mes activités ne s'est plus connectée. Tous les autres ont enregistré des trucs. Après le redémarrage, tout fonctionne à nouveau comme un charme. Pour les autres personnes qui recherchent une autre solution: adb kill-server, adb start-server dans l'interface de ligne de commande corrigera souvent votre problème.
J'ai ces problèmes et fixe, String TAG sans espace:
"mon tag" // notant show
"my_tag" // est ok
parfois, le problème ne vient pas du PC, mais de l'IDE, de la BAD, etc., mais provient de votre périphérique qui n'envoie pas de journaux à la BAD, donc si vous avez essayé toutes les méthodes mentionnées précédemment et que votre logcat est vide essayer de redémarrer votre appareil et réessayer .J'ai essayé tous les moyens mentionnés ci-dessus et aucun d'entre eux n'a fonctionné, mais après un redémarrage sur mon téléphone, logcat a fonctionné comme par magie