Logcat tidak menampilkan panggilan log saya


114

Saya benar-benar pemula di pemrograman Android, dan ingin belajar cara men-debug aplikasi saya. Saya tidak bisa menampilkan panggilan Log.i | d | v saya di LogCat.

Ini kode yang saya gunakan. Seperti yang Anda lihat, saya telah menetapkan konstanta LOG_TAG, tetapi tidak dapat menemukannya di LogCat. Saya juga telah mengimpor android.util.Log DAN saya telah memastikan bahwa di AndroidManifest saya, saya memiliki "debuggable" yang disetel ke TRUE.

Saya juga telah memeriksa http://developer.android.com/reference/android/util/Log.html tanpa berhasil menyelesaikan masalah ini.

Apa yang saya lakukan salah? Apakah saya mencari di tempat yang benar? Saya sudah mencoba menggunakan perspektif DDMS dan Debug juga tanpa keberuntungan. Bantuan apa pun untuk noob ini akan sangat dihargai. Terima kasih.

Lingkungan saya: Windows XP IDE = Eclipse Versi: 3.6.1, Build id: M20100909-0800 Emulator = mengarah ke android sdk 2.1 api 7

// kode dunia HELLO yang sangat dasar dengan beberapa panggilan 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");
    }
}

Sepertinya Anda tidak melakukan kesalahan, apakah Anda yakin bahwa Aktivitas Anda sedang dimulai? Apakah Anda memiliki filter yang disetel dalam tampilan logcat? Apakah Anda mencoba logcat versi baris perintah? (adb logcat)
Cheryl Simon

Ya, mencoba baris perintah dan mengeluarkan file txt dan masih tidak dapat menemukannya. Saya tahu Aktivitas dimulai karena saya melihat pesan "Hello World" di emulator. Saya mencoba melihat logcat dengan dan tanpa filter dan masih tidak berhasil.
Cavachon

Coba baris perintah adb logcat dan jangan memfilter apa pun terlebih dahulu. Saya cukup yakin kode Anda berfungsi dan mencetak ke log.
Heikki Toivonen

Apakah LogCat berfungsi sama sekali? Misalnya, apakah Anda melihat entri log dari aplikasi lain (aplikasi sistem, misalnya)?
Vit Khudenko

Bisa jadi perangkat tertentu. terkadang kami perlu mengaktifkan log dari menu tersembunyi ponsel stackoverflow.com/a/43999262/2783229
nitesh

Jawaban:


143

Saat menggunakan Eclipse, dalam perspektif DDMS, pastikan perangkat yang benar (mungkin emulator-xxxx) dipilih dan disorot. Hanya dengan begitu Anda akan mendapatkan keluaran logcat dalam tampilan logcat.

Selain itu, plugin Android agak aneh, dan terkadang hanya menampilkan baris terakhir di tampilan logcat. Jika ini terjadi, coba hapus log. Setelah itu, Anda harus mendapatkan semua entri log lagi (tetap berfungsi untuk saya).


Ya, semua masalah yang saya alami juga. Jika Anda menggulir dalam tampilan Logcat, itu tidak akan menggulir dengan pembaruan mendatang secara otomatis sampai Anda menggulir kembali ke bawah.
Mike Yockey

2
Ha! Saya berjuang ini untuk sementara waktu. DDMS yang dibuka dan saya memilih emulator lama. Mengapa tidak default ke emulator yang sedang berjalan adalah aneh.
Akan Curran

Jawaban ddewaele menyelesaikan masalah saya, Anda hanya perlu membiarkan LogCat di mana fokusnya seharusnya. Sebagai catatan tambahan, Anda tidak perlu mengubah perspektif untuk membuka menu perangkat. Cukup buka Jendela >> Tampilkan Tampilan >> Lainnya >> Android >> Perangkat untuk membuka panel perangkat
Jay

@yock Saya percaya itu disengaja karena asumsinya adalah Anda ingin berhenti dan membaca pada titik Anda menggulir ke.
Michael Mior

1
Hahaha saya sangat bodoh, saya tidak tahu apa itu DDMS dan bahkan di mana menemukannya.
Neon Warge

71

Jika semuanya gagal:

Saya melakukan semua hal di atas dan tidak tahu apa yang salah,

Uji dengan:

adb logcat

untuk mengetahui bahwa entri saya benar-benar di logcat, tetapi dua kebiasaan adt.

Memperbaiki:

Mulai ulang gerhana

Ini adalah satu-satunya hal yang memperbaikinya.


1
Ini berfungsi, tetapi saya tidak dapat terus memulai ulang Eclipse karena masalah ini sering terjadi pada saya. Apakah ada yang punya solusi yang lebih baik?
Khaled Alanezi

@KaledAlanezi kemudian harus mempertimbangkan untuk menggunakan logcat dari command prompt atau windows PowerShell (lebih baik).
Dheeraj Bhaskar

1
saya baru saja memulai ulang gerhana setiap kali ini terjadi dan itu selalu menyelesaikan masalah. itu biasanya terjadi sekali sehari tetapi saya sudah terbiasa kecewa dengan gerhana ..
programmer

2
@programmer kecewa dengan gerhana tidak lagi, pindah ke Android Studio, sobat :)
Dheeraj Bhaskar

1
Bagi saya menggunakan emulator pada mesin jarak jauh restart gerhana tidak bekerja Logcat tidak pernah menunjukkan apa-apa tapi adb logcattip yang bagus, itu bekerja begitu upvote.
soger

12

Saya mengalami masalah yang sama saat menggunakan Android Studio dan berhasil menyiasatinya dengan memilih No Filtersdi kotak pilih di sudut kanan atas LogCat. Dengan melakukan ini, saya mulai menerima semua log Android di latar belakang ke LogCat termasuk panggilan Log saya yang hilang.

masukkan deskripsi gambar di sini


9

Mulai ulang Eclipse dan periksa log cat akan ditampilkan.


6

Saya menemukan bahwa saya secara otomatis mengimpor com.sileria.Log (dari beberapa proyek perpustakaan) daripada android.util.Log , di mana yang terakhir adalah yang benar. Periksa juga impor Anda.


3

Saya perhatikan bahwa Eclipse terkadang akan mengeluarkan pengecualian saat memulai aplikasi Android, kemudian LogCat berhenti memperbarui. Saya telah mengoreksinya hanya dengan memulai ulang Eclipse. Saya tidak yakin apakah Anda sudah mencobanya dan saya tahu ini jauh dari solusi optimal, tetapi saya curiga plugin Eclipse masih memiliki beberapa bug untuk diperbaiki.


3

Cara termudah:

Periksa di jendela logcat Anda - tombol JEDA pojok KANAN ATAS || (Jeda menerima pesan logcat baru)

Beberapa klik + akhirnya restart gerhana (biasanya berfungsi dalam kasus saya)


3

Saya perlu memulai ulang layanan adb dengan perintah adb usb

Sebelumnya saya mendapatkan semua logging dan dapat melakukan debug, tetapi tidak mendapatkan baris log saya sendiri (ya, saya mendapatkan logging sistem yang terkait dengan aplikasi saya).


Saya juga memiliki ini - tidak mendapatkan baris log sendiri. Tapi ini tidak membantu :(
Ixx

2

Ada sejumlah alasan mengapa Anda tidak dapat melihat log, yang sebagian besar tercantum di bawah. Berikut beberapa langkah untuk memeriksa sebagian besar alasan:

  1. Pastikan Anda tidak memiliki 'android: debuggable = "false"' di AndroidManifest.xml Anda
  2. Pastikan logcat Anda tidak dihentikan sementara dan pastikan Anda digulir ke bawah
  3. Filter Anda harus berupa 'tanpa filter' atau aplikasi Anda saat ini
  4. Anda telah memilih perangkat yang benar di daftar perangkat logcat Anda
  5. Jika Anda tidak mendapatkan pesan apa pun , coba mulai ulang adb. Anda dapat melakukannya dari Android Studio dengan mengklik ikon 'restart', tepat setelah ikon cetak untuk logcat dan terlihat seperti panah melengkung berwarna hijau yang keluar dari kotak. Jika Anda tidak melihatnya, arahkan mouse ke '>>' yang melanjutkan menu ikon saat logcat terlalu kecil.

2

Di Android Studio: Klik panah hijau yang mengarah ke kanan untuk memulai ulang logging; jika tidak terlihat, klik >> ikon untuk menemukannya.


1

Saya pemula juga di Android-Eclipse. Inilah yang saya perlukan untuk menampilkan pesan LogCat di Eclipse: 1: tambahkan ini ke kelas di mana pesan logcat disebut: private static final String TAG = "MyActivity"; (sesuai dokumentasi di sini )

2: tambahkan Log ini.i (TAG, "inLayout - finish"); ketika Anda di mana Anda ingin menampilkan pesan

Jika cara di atas tidak berhasil, matikan Eclipse dan mulai ulang dan jalankan kembali proyek Anda.

Ini kemudian harus bekerja.


1

Ada satu hal lagi yang harus diperhatikan:

Di sisi kanan atas logcat ada tabel tarik - turun untuk memfilter pesan berdasarkan jenis. Pastikan itu pada level yang Anda cari (jika akan pada level assert, kemungkinan logcat Anda akan kosong).


1

Silakan pergi ke Task Manager dan matikan proses adb.exe. Mulai ulang gerhana Anda lagi.

atau

coba adb kill-server dan kemudian adb start-server command.


1

Mungkin itu tidak benar, dan sedikit lebih lama, tetapi saya menyelesaikan masalah ini (Android Studio) dengan menggunakan ini:

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

Seperti ini:

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

1

Saya menghabiskan beberapa jam untuk kasus seperti itu. Saya hanya melihat log tombol sentuh. Tidak ada lagi. Masalahnya adalah ... ponsel pintar. Setelah restart baik-baik saja. Mencabut kabel menyebabkan masalah kembali. Harus restart lagi. Sepertinya komunikasi USB Android tidak dirancang dengan baik.


Terima kasih! Sebenarnya, itu adalah pengaturan USB di menu cepat ponsel ... sehubungan dengan debugging USB. Saya sudah terbiasa mengubah dari Charging Only, menjadi Transfer Files. TAPI, Hanya Pengisian yang membuat penebangan berhasil. Saya baru saja kembali ke pemrograman Android setelah beberapa tahun lagi, dan, ini benar-benar membuat kurva belajar saya sulit.
wwfloyd

Kemudian, saya hanya mendapatkan beberapa pencatatan ... semua yang baru ditambahkan diabaikan. Dapatkan itu diurutkan dengan Bersihkan dan Jalankan Ulang, di Android Studio.
wwfloyd

1

PERBAIKAN CEPAT.

Mulai ulang gerhana

Bekerja dengan Sempurna.


0

Menggunakan SDK 4.0.3 Anda harus memilihnya secara eksplisit pada konfigurasi debug> proyek> target atau tidak akan pernah ditampilkan menggunakan Eclipse Indigo (3.7). Tentu saja gerhana akan dimulai ulang.


0

Saya juga mengalami masalah saat melihat keluaran log sederhana di logcat. Masalah saya teratasi ketika saya menginstal JDK terbaru. Saya baru saja menyiapkan mesin pengembangan baru dan hanya menginstal JRE dan menginstal JDK yang berfungsi untuk saya.


0

Tidak ada jawaban lain yang berhasil untuk saya, tetapi ini berhasil:

Saya menghapus proyek saya dari ruang kerja saya, lalu menghapus apa pun yang dimulai dengan titik (.settings, .project, dll.) Dari folder proyek. Kemudian saya mengimpor ulang yang diproyeksikan. Saya kehilangan beberapa pengaturan dan breakpoint tetapi setidaknya berfungsi.


0

Saya telah mengalami masalah ini dan sepertinya tidak ada yang berhasil sampai saya memindahkan log call ke handler. Sekarang berfungsi setiap saat, di mana pun Anda berada.


0

Saya membuat kesalahan dengan mengetikkan istilah pencarian di kotak pencarian logcat. Saya lupa menghapusnya dan karenanya tidak dapat melihat log baru. Karena mereka tidak cocok dengan istilah pencarian saya dan tidak ditampilkan.


0

Dalam kasus saya, saya harus menghapus baris ini:

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

Dari tag Aplikasi di file Manifest saya.


0

Solusi terbaik bagi saya adalah restart server adb (sementara saya telah Mengaktifkan integrasi ADB di studio Android - Alat - Android - diperiksa). Untuk melakukan ini dengan cepat saya membuat adbr.batfile di dalam android-sdk\platform-toolsdirektori (di mana adb.exelokasinya) dengan ini di dalam:

adb kill-server
adb start-server

Karena saya memiliki folder ini dalam variabel sistem PATH, selalu ketika saya perlu memulai ulang adbdari Android studio, saya hanya dapat menulis ke terminaladbr dan selesai.

Pilihan lain untuk melakukan ini adalah melalui Android Device Monitor di tab Perangkat - Menu setelah klik panah kecil di kanan - Atur ulang adb .


0

Untuk gerhana: 1) Pergi ke perspektif ddms. 2) Pastikan perangkat yang benar dipilih. 3) Jika sudah dipilih dan tidak menampilkan log, maka mulai ulang ABD. * Semoga ini akan menyelesaikannya.


0

Saya memulai ulang layanan ADB juga dengan "adb usb" dan memperbaiki masalah untuk saya. Nyatanya, hanya satu aktivitas saya yang tidak masuk log lagi. Semua yang lain mencatat. Setelah restart adb semuanya bekerja seperti pesona lagi. Untuk orang lain yang mencari solusi lain: adb kill-server, adb start-server di CLI akan sering memperbaiki masalah Anda juga.


0

tutup paksa aplikasi Anda setelah ini akan memulai LogCat lagi ...

gunakan ini untuk menutup paksa: D

setContentView(BIND_AUTO_CREATE);

0

beberapa kali masalahnya bukan dari pc di sisi lain IDE, ADB dll, tetapi muncul dari perangkat Anda yang tidak mengirim log ke ADB jadi jika Anda mencoba semua cara yang disebutkan sebelumnya dan logcat Anda masih kosong, coba restart perangkat dan coba lagi. Saya mencoba semua cara yang disebutkan di atas dan tidak ada yang berfungsi tetapi setelah restart pada logcat ponsel saya bekerja seperti sulap


Bagaimana cara memeriksa apakah perangkat dapat mengirim log ke ADB?
JCarlosR

@JCarlos coba restart perangkat Anda jika tidak ada solusi di atas yang berhasil
CodeWorm

AndroidMonitor menampilkan pesan saat saya menggunakan Logdan menjalankan aplikasi dari ponsel cerdas saya, tetapi tidak berfungsi dari jam tangan pintar saya. Saya sedang mencari pengaturan tetapi semuanya tampak baik.
JCarlosR

0

Saya memiliki masalah ini dan memperbaikinya, String TAG tanpa spasi:

"tag saya" // mencatat acara
"my_tag" // tidak apa-apa


0

Dalam kasus saya, saya hanya perlu menambahkan nama ke String. Dalam contoh pertama saya hanya memiliki spasi di antara tanda kurung

private static final String TAG = " ";

tapi setelah menambahkan nama itu bekerja dengan sempurna.

private static final String TAG = "oncreate";

0

Setelah meningkatkan ke Android 3.6.1, saya telah mengalami masalah ini beberapa kali. Satu-satunya hal yang berhasil dalam kasus saya adalah MEMULAI ULANG PERANGKAT.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.