2010-11-19 10 views
113

Sono un noob totale alla programmazione Android e volevo imparare come eseguire il debug delle mie app. Non riesco a visualizzare le mie chiamate Log.i | d | v nel LogCat.Logcat non visualizza le mie chiamate di registro

Ecco il codice che sto utilizzando. Come puoi vedere ho definito una costante LOG_TAG, ma non riesco a trovarla nel LogCat. Ho anche importato android.util.Log E mi sono assicurato che nel mio AndroidManifest ho "debuggable" impostato su TRUE.

Ho anche controllato http://developer.android.com/reference/android/util/Log.html senza fortuna risolvendo questo problema.

Cosa sto sbagliando? Sto addirittura cercando nel posto giusto? Ho provato ad usare anche la prospettiva DDMS e Debug senza alcuna fortuna. Qualsiasi aiuto a questo noob sarebbe molto apprezzato. Grazie.

Il mio ambiente: Windows XP IDE Eclipse = Versione: 3.6.1, Build ID: M20100909-0800 emulatore = dover puntare a Android SDK 2.1 API 7

// molto di base di codice CIAO Mondo con un paio di Log.i chiama

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"); 
    } 
} 
+0

Non sembra che tu stia facendo qualcosa di sbagliato, sei sicuro che la tua attività sia iniziata? Avete filtri impostati nella vista logcat? Hai provato la versione da riga di comando di logcat? (adb logcat) –

+0

Sì, ho provato la riga di comando e ho emesso un file txt e non sono riuscito a trovarlo. So che l'attività è iniziata perché vedo il messaggio "Hello World" nell'emulatore. Ho provato a visualizzare il logcat con e senza filtri e ancora senza fortuna. – Cavachon

+0

Provare la riga di comando adb logcat e non filtrare prima nulla. Sono abbastanza sicuro che il tuo codice funzioni e stampi sul log. –

risposta

143

Quando si utilizza Eclipse, nella prospettiva DDMS, assicurarsi che il dispositivo corretto (propenso emulatore-xxxx) sia selezionato ed evidenziato. Solo allora otterrai l'output logcat nella vista logcat.

Inoltre, il plug-in Android è un po 'complicato e, a volte, mostra solo l'ultima riga nella vista del logcat. Se ciò accade, provare a cancellare il registro. Dopodiché, dovresti recuperare tutte le voci del registro (funziona comunque per me).

+0

Sì, anche tutti i problemi che ho avuto. Se si scorre all'interno della vista Logcat, non scorrono automaticamente con gli aggiornamenti futuri finché non si torna in fondo. –

+2

Ha! Stavo combattendo per un po '. DDMS aperto e ho selezionato un vecchio emulatore.Perché non è predefinito per l'emulatore attualmente in esecuzione è dispari. –

+0

@yock Credo che sia intenzionale in quanto l'ipotesi è che si desidera fermarsi e leggere nel punto in cui si scorre. –

3

ho notato che Eclipse a volte un'eccezione all'avvio di un'applicazione Android, quindi LogCat ferma l'aggiornamento. L'ho corretto semplicemente riavviando Eclipse. Non sono sicuro che tu ci abbia provato e so che è lontano da una soluzione ottimale, ma sospetto che il plugin di Eclipse abbia ancora alcuni bug da appianare.

+0

Ho anche provato a riavviare Eclipse senza fortuna. – Cavachon

3

avevo bisogno di riavviare il servizio con il comando adb adb usb

Prima di questo mi è stato sempre tutta la registrazione e in grado di eseguire il debug, ma non è stato sempre il mio proprie linee di registro (sì, mi stavo log di sistema associata con la mia domanda).

+0

Ho anche questo - non ottenere le proprie linee di registro. ( – Ixx

3

modo più semplice:

Verificare nella finestra logcat - TOP PAUSE nell'angolo destro || (Pausa ricezione di nuovi messaggi logcat)

pochi clic + alla fine riavviare Eclipse (di solito funziona nel mio caso)

0

Utilizzando l'SDK 4.0.3 è necessario selezionare in modo esplicito su configurazioni di debug> progetto> di destinazione o altrimenti non mostrerà mai l'utilizzo di Eclipse Indigo (3.7). Ovviamente ne segue un riavvio di eclissi.

1

Sono un newb anche per Android-Eclipse. Ecco cosa mi è servito per visualizzare i messaggi LogCat in Eclipse: 1: aggiungi questo alla classe in cui è chiamato il messaggio logcat: stringa finale statica privata TAG = "MyActivity"; (per la documentazione here)

2: aggiungi questo registro.i (TAG, "inLayout - finished"); quando si desidera visualizzare un messaggio

Se quanto sopra non funziona, quindi shutdonw Eclipse e riavviarlo e rieseguire il progetto.

Dovrebbe quindi funzionare.

71

Se tutto il resto fallisce:

Ho fatto tutte le cose di cui sopra e non riuscivo a capire cosa non andava,

di prova con:

adb logcat 

per capire che il mio le voci erano in logcat, ma le stranezze di adad.

Fix:

riavviare Eclipse

Questa era l'unica cosa che riparato.

+7

Grazie, la soluzione stupida, ho perso 20 minuti cercando di risolverlo in modo più scientifico haha ​​ – htafoya

+1

Questo funziona, ma non posso continuare a riavviare Eclipse in quanto questo problema accade molto per Sì. Qualcuno ha una soluzione migliore? –

+0

@KhaledAlanezi quindi dovrebbe prendere in considerazione l'utilizzo di logcat dal prompt dei comandi o Windows PowerShell (meglio). –

1

C'è ancora una cosa da guardare per:

Sul lato superiore destro della logcat c'è un tavolo discesa per filtrare i messaggi in base al tipo. Assicurati che sia al livello che stai cercando (se sarà sul livello di affermazione, probabilmente lascerà vuoto il tuo logcat).

0

Ho riscontrato un problema nella visualizzazione di un semplice registro in logcat. Il mio problema è stato risolto quando ho installato l'ultimo JDK. Ho appena installato un nuovo computer di sviluppo e ho solo installato JRE e l'installazione del JDK ha funzionato per me.

0

Nessuna delle altre risposte lavorato per me, ma questo ha fatto:

ho tolto il mio progetto dal mio lavoro, quindi eliminato tutto ciò che è iniziato con un punto (.settings, .project, etc.) dal progetto cartella. Poi ho reimportato il progetto. Mi mancano alcune impostazioni e punti di interruzione, ma almeno funziona.

6

ho capito che stavo automaticamente importando com.sileria.Log (da qualche progetto di biblioteca), invece di android.util.Log, dove quest'ultimo era quella corretta. Controlla anche le tue importazioni.

0

Avevo riscontrato questo problema e non sembrava funzionare nulla finché non ho spostato la chiamata di registro in un gestore. Ora funziona sempre, indipendentemente da dove ti trovi.

0

Ho fatto l'errore di digitare un termine di ricerca nella casella di ricerca logcat. Ho dimenticato di cancellarlo e quindi non ho potuto vedere i nuovi log. Dal momento che non corrispondevano al mio termine di ricerca e non erano visualizzati.

9

Riavvia Eclipse e viene visualizzato il messaggio di registro cat.

-3

Stai provando a inserire Codice in esecuzione su Spazio di lavoro .. quindi prova a inserire il codice sul codice in esecuzione ..

2

Su Android Studio: Fare clic sulla freccia verde rivolta a destra per riavviare la registrazione; se non è visibile, fai clic sulle icone >> per individuarlo.

0

Nel mio caso, ho dovuto rimuovere questa riga:

<application 
     android:debuggable="false" <!-- Remove this line --> 
     ..../> 

Da tag Application nel mio file manifesto.

0

migliore soluzione per me era del server adb riavvio (mentre ho abilitato l'integrazione ADB in Android Studio - Strumenti - Android - controllato). Per fare questo in modo rapido ho creato adbr.bat file all'interno di android-sdk\platform-tools directory (dove si trova adb.exe) con questo all'interno:

adb kill-server 
adb start-server 

Perché ho questa cartella nella variabile di sistema PATH, sempre quando ho bisogno di riavviare adb da studio di Android, posso scrivere solo nel terminale adbr ed è fatto.

Un'altra opzione per farlo è attraverso Monitoraggio dispositivo Android in scheda Dispositivi - Menu dopo clic sulla piccola freccia a destra - Reset adb.

9

Ho avuto lo stesso problema con Android Studio e sono riuscito a spostarmi selezionando No Filters nella casella di selezione nell'angolo in alto a destra di LogCat. In questo modo ho iniziato a ricevere tutti i log di Android in background in LogCat comprese le mie chiamate di registro mancanti.

enter image description here

1

Probabilmente non è corretto, e un po 'più a lungo, ma ho risolto questo problema (Android Studio) utilizzando questo:

System.out.println("Some text here"); 

Ti piace questa:

try { 
     ...code here... 
} catch(Exception e) { 
    System.out.println("Error desc: " + e.getMessage()); 
} 
1

Vai al Task Manager e uccidi il processo adb.exe. Riavvia di nuovo l'eclissi.

o

provare adb kill-server di e poi adb start-server di comando.

2

Ci sono diversi motivi per cui potresti non vedere i registri, molti dei quali sono elencati di seguito. Ecco alcuni passi per controllare la maggior parte delle ragioni:

  1. Assicurarsi che non si dispone di 'Android: debuggable = 'false'' nel vostro AndroidManifest.xml
  2. Assicurati che il tuo logcat non sia in pausa e fare sicuro che scorrono verso il basso
  3. tuoi filtri dovrebbero essere sia 'senza filtri' o la vostra applicazione corrente
  4. Hai il dispositivo corretto selezionato nell'elenco dei dispositivi logcat
  5. Se stai non ricevendo alcun messaggi , prova a riavviare adb.Puoi farlo da Android Studio facendo clic sull'icona 'restart', è subito dopo l'icona di stampa per logcat e sembra una freccia curva verde che esce da una scatola. Se non lo vedi, sposta il mouse su '>>' che continua il menu icona quando il logcat è troppo piccolo.
1

Ho trascorso diverse ore in questo caso. Ho visto solo i log delle chiavi touch. Niente di più. Il problema era ... smarthphone. Dopo il riavvio era OK. Scollegamento del cavo causato problema restituito. Dovuto riavviarlo di nuovo. Sembra che la comunicazione USB di Android non sia ben progettata.

+0

Grazie! In realtà, era l'impostazione USB sul menu rapido del telefono ... per quanto riguarda il debug USB. Avevo preso l'abitudine di passare da Solo caricamento, a Trasferimento file. MA, solo la ricarica è ciò che ha reso il lavoro di registrazione. Sto solo tornando alla programmazione Android dopo alcuni anni di distanza, e questo mi ha davvero ostacolato la mia curva di apprendimento. – wwfloyd

+0

Quindi, stavo solo recuperando parte del log ... tutto ciò che è stato aggiunto di recente è stato ignorato. Ottenuto quello ordinato con Clean and Rerun, in Android Studio. – wwfloyd

0

Per l'eclissi: 1) Vai a prospettiva ddms. 2) Assicurarsi che sia selezionato il dispositivo corretto. 3) Se è già selezionato e non visualizza i registri, riavviare ABD. * Spero che questo risolva.

1

QUICK FIX.

Basta riavviare l'eclissi

opere perfette.

0

Ho riavviato anche il servizio ADB con "adb usb" e risolvo il problema per me. In effetti, solo una delle mie attività non registrava più. Tutti gli altri hanno fatto il login. Dopo il riavvio adb tutto funziona come un incantesimo di nuovo. Per le altre persone che stanno cercando un'altra soluzione: adb kill-server, adb start-server nella CLI risolverà spesso il problema.

0

rendere la vostra forza app vicino una volta questo ricomincerà LogCat ...

uso questo per forza vicino: D

setContentView(BIND_AUTO_CREATE); 
0

alcune volte il problema non è da pc d'altra parte IDE , ADB ecc., Ma il dispositivo viene generato dal tuo dispositivo che non invia i registri ad ADB, quindi se hai provato tutte le modalità menzionate prima e il tuo logcat è vuoto prova a riavviare il dispositivo e riprova. modi sopra menzionati e nessuno dei due è preoccupato ked ma dopo un riavvio sul mio telefono logcat funzionato come per magia

+0

Come verificare se il dispositivo è in grado di inviare i registri ad ADB? – JCarlos

+0

@JCarlos prova a riavviare il dispositivo se nessuna delle soluzioni sopra indicate ha funzionato. –

+0

L'AndroidMonitor mostra i messaggi quando uso il 'Log' ed eseguo l'app dal mio smartphone, ma non funziona dal mio smartwatch. Stavo guardando le impostazioni, ma tutto sembra buono. – JCarlos

0

ho questo problema e, String TAG fisso senza spazio:

"mio tag" // notando spettacolo
"my_tag" // è ok

Problemi correlati