Logcatにログの呼び出しが表示されない


114

私はAndroidプログラミングの初心者で、アプリのデバッグ方法を学びたいと思っていました。LogCatにLog.i | d | vの呼び出しが表示されないようです。

これが私が使っているコードです。ご覧のとおり、LOG_TAG定数を定義しましたが、LogCatでそれを見つけることができません。私はandroid.util.Logもインポートし、AndroidManifestで「デバッグ可能」がTRUEに設定されていることを確認しました。

私はhttp://developer.android.com/reference/android/util/Log.htmlもチェックしました。この問題を解決するための運はありません。

何が悪いのですか?私も正しい場所を探していますか?DDMSとデバッグパースペクティブを使用してみましたが、運もありませんでした。このnoobへのどんな助けでも大歓迎です。ありがとう。

私の環境:Windows XP IDE = Eclipseバージョン:3.6.1、ビルドID:M20100909-0800エミュレータ= android sdk 2.1 api 7を指すようにする

//Log.iを2回呼び出した非常に基本的なHELLO Worldコード

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

何か問題が発生しているようではありません。アクティビティが開始されていますか?logcatビューでフィルターが設定されていますか?コマンドラインバージョンのlogcatを試しましたか?(adb logcat)
シェリルサイモン

はい、コマンドラインを試し、txtファイルに出力しましたが、それを見つけることができませんでした。エミュレータに「Hello World」というメッセージが表示されたため、アクティビティが開始したことがわかります。フィルターの有無にかかわらずlogcatを表示しようとしましたが、まだ運がありません。
Cavachon

コマンドラインadb logcatを試して、最初に何もフィルタリングしないでください。私はあなたのコードが機能していてログに出力していると確信しています。
Heikki Toivonen、2011年

LogCatはまったく機能しますか?たとえば、別のアプリ(システムアプリなど)のログエントリが表示されますか?
Vit Khudenko、2010年

デバイス固有である可能性があります。電話の非表示メニューstackoverflow.com/a/43999262/2783229
nitesh

回答:


143

Eclipseを使用するときは、DDMSパースペクティブで、正しいデバイス(適切にはemulator-xxxx)が選択され、強調表示されていることを確認してください。そうして初めて、logcatビューにlogcat出力が表示されます。

また、Androidプラグインは少し変わっており、logcatビューの最後の行しか表示されない場合があります。これが発生した場合は、ログをクリアしてみてください。その後、すべてのログエントリを再度取得する必要があります(とにかく私のために働きます)。


はい、私が経験したすべての問題も同様です。Logcatビュー内でスクロールすると、下にスクロールするまで、今後の更新で自動的にスクロールされません。
Mike Yockey、

2
ハ!しばらくこれと戦っていた。DDMSを開き、古いエミュレーターを選択しました。現在実行中のエミュレータがデフォルトにならない理由は奇妙です。
Will Curran

ddewaeleの答えは私の問題を解決しました、あなたはLogCatに焦点を当てるべき場所に置くだけです。補足として、デバイスメニューを表示するためにパースペクティブを変更する必要はありません。ウィンドウ>>ビューを表示>>その他>> Android >>デバイスに移動して、デバイスパネルを表示します
Jay

@yockスクロールした時点で停止して読みたいという前提があるため、これは意図的なものだと思います。
Michael Mior

1
はははばかげているので、DDMSとは何か、どこにあるのかさえわかりません。
ネオンワージ2015

71

他のすべてが失敗した場合:

私は上記のすべてを行い、何が間違っているのか理解できませんでした。

でテストする:

adb logcat

私のエントリがlogcatで無事だったことを理解するために、しかし、それはadtの癖です。

修正:

日食を再開する

これがそれを修正した唯一のものでした。


1
これは機能しますが、この問題が頻繁に発生するため、Eclipseを再起動し続けることができません。誰かがより良い解決策を持っていますか?
Khaled Alanezi 2014

@KhaledAlaneziは、コマンドプロンプトまたはWindows PowerShell(より良い)からlogcatを使用することを検討する必要があります。
Dheeraj Bhaskar 2014

1
これが発生するたびにeclipseを再起動するだけで、常に問題が解決します。...それは通常一日一回起きるが、私はすでに日食から失望されることに慣れて
プログラマ

2
@プログラマーはもはや食に失望せず、Android Studioに移動します。私の友人です:)
Dheeraj Bhaskar

1
リモートマシンでエミュレーターを使用している場合、Eclipseを再起動しても機能しません。Logcatは何も表示しませんadb logcatが、良いヒントです。
soger 2016年

12

私はAndroid Studioを使用して同じ問題を抱えておりNo Filters、LogCatの右上隅にある選択ボックスで選択することでなんとか回避できました。これを行うことで、AndroidのすべてのログをバックグラウンドでLogCatに受信し始めました。

ここに画像の説明を入力してください



6

私はandroid.util.Logではなく、com.sileria.Log(ライブラリプロジェクトから)を自動的にインポートしていることがわかりました。後者は正しいものでした。インポートも確認してください。


3

EclipseがAndroidアプリの起動時に例外をスローすることがあり、LogCatが更新を停止することに気づきました。Eclipseを再起動するだけで修正しました。あなたがそれを試したかどうかはわかりませんが、それが最適なソリューションとは程遠いことは知っていますが、Eclipseプラグインにはまだいくつかのバグが解決されていると思います。


3

最も簡単な方法:

logcatウィンドウを確認してください-右上隅の[一時停止]ボタン|| (新しいlogcatメッセージの受信を一時停止します)

数回のクリック+ Eclipseの再起動(通常、私の場合は機能します)


3

コマンドでadbサービスを再起動する必要がありました adb usb

これより前は、すべてのログを取得してデバッグできましたが、独自のログ行を取得していませんでした(そうです、アプリケーションに関連付けられたシステムログを取得していました)。


私もこれを持っています-独自のログ行を取得していません。しかし、これは役に立たなかった:(
Ixx

2

ログが表示されない理由はいくつかありますが、そのほとんどを次に示します。次に、ほとんどの理由を確認するためのいくつかの手順を示します。

  1. AndroidManifest.xmlに「android:debuggable = "false"」がないことを確認してください
  2. logcatが一時停止されていないことと、一番下までスクロールされていることを確認してください
  3. フィルターは「フィルターなし」または現在のアプリのいずれかである必要があります
  4. logcatデバイスリストで正しいデバイスが選択されている
  5. あなたが取得していない場合は任意のメッセージを、ADBを再起動してみてください。Android Studioから「再起動」アイコンをクリックすることでそれを行うことができます。これはlogcatの印刷アイコンの直後にあり、ボックスから出てくる緑色の曲線矢印のように見えます。それが表示されない場合は、logcatが小さすぎるときにアイコンメニューを続ける「>>」の上にマウスを置きます。

2

Android Studioの場合:右向きの緑色の矢印をクリックして、ロギングを再開します。表示されていない場合は、>>アイコンをクリックして検索します。


1

私はAndroid-Eclipseの初心者でもあります。以下は、EclipseでLogCatメッセージを表示するために必要なものです。1:logcatメッセージが呼び出されるクラスにこれを追加します。private static final String TAG = "MyActivity"; (ここのドキュメントに従って)

2:このLog.i(TAG、 "inLayout-finished");を追加します。メッセージを表示したい場所

上記が機能しない場合は、Eclipseをシャットダウンして再起動し、プロジェクトを再実行します。

その後、機能するはずです。


1

注意すべきことがもう1つあります。

logcatの右上には、タイプ別にメッセージをフィルタリングするためのドロップダウンテーブルがあります。探しているレベルにあることを確認してください(アサートレベルになる場合は、logcatが空のままになる可能性があります)。


1

タスクマネージャーに移動して、adb.exeプロセスを終了してください。日食をもう一度再開します。

または

adb kill-serverを試してから、adb start-serverコマンドを試してください。


1

おそらくそれは正しくなく、少し長くなりますが、これを使用してこの問題(Android Studio)を解決しました:

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

このような:

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

1

私はそのような場合に数時間を費やしました。タッチキーのログのみが表示されました。これ以上何もない。問題は...スマートフォンだった。再起動後はOKでした。ケーブルを外すと問題が発生。もう一度再起動する必要がありました。Android USB通信はうまく設計されていないようです。


ありがとうございました!実際には、USBデバッグに関しては、電話のクイックメニューのUSB設定でした。私は「充電のみ」から「ファイル転送」に変更する習慣をつけていました。しかし、課金のみがロギングを機能させました。数年後、Androidプログラミングに戻ったところですが、これは本当に私の学習曲線を窮屈にさせていました。
wwfloyd 16

次に、ログの一部しか取得していませんでした...最近追加されたものはすべて無視されました。Android Studioで、Clean and Rerunでソートされました。
wwfloyd 16


0

SDK 4.0.3を使用する場合は、デバッグ構成>プロジェクト>ターゲットで明示的に選択する必要があります。そうしないと、Eclipse Indigo(3.7)を使用しても表示されません。もちろん、食の再開が続きます。


0

logcatでも単純なログ出力が表示される問題がありました。最新のJDKをインストールしたところ、問題は解決しました。新しい開発マシンをセットアップしただけで、JREがインストールされていて、JDKをインストールしただけでうまくいきました。


0

他の答えはどれもうまくいきませんでしたが、これはうまくいきました:

ワークスペースからプロジェクトを削除し、ドットで始まるもの(.settings、.projectなど)をプロジェクトフォルダから削除しました。次に、投影されたものを再インポートしました。一部の設定とブレークポイントがありませんが、少なくとも機能します。


0

私はこの問題を経験しており、ログコールをハンドラーに移動するまで何も機能しなかったようです。今では、どこにいても常に機能します。


0

logcatの検索ボックスに検索キーワードを入力するのを間違えました。削除するのを忘れたため、新しいログを表示できませんでした。それらが私の検索用語と一致せず、表示されなかったため。


0

私の場合、次の行を削除する必要がありました。

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

マニフェストファイルのアプリケーションタグから。


0

私にとっての最良の解決策は、adbサーバー再起動することです(Androidスタジオで ADB統合を有効にしている間-ツール -Android-チェック済み)。これをすばやく行うために、次の場所にあるディレクトリ(が配置されている場所)adbr.bat内にファイルを作成しました。android-sdk\platform-toolsadb.exe

adb kill-server
adb start-server

私はPATHシステム変数にこのフォルダーを持っているのでadb、Androidスタジオから再起動する必要があるときは常に、ターミナルにのみ書き込むことができadbr、それが行われます。

これを行う別のオプションは、[デバイス]タブのAndroidデバイスモニターを使用する-小さな右矢印をクリックした後のメニュー-[adbをリセット]です。


0

日食の場合:1)DDMパースペクティブに移動します。2)正しいデバイスが選択されていることを確認します。3)すでに選択されていてログが表示されていない場合は、ABDを再起動します。*これが解決することを願っています。


0

「adb usb」を使用してADBサービスも再起動し、問題を解決しました。実際、私の活動の1つだけが記録されなくなりました。他のすべてのものはログを記録しました。adbを再起動すると、すべてが再び魅力のように機能します。別の解決策を探している他の人々のために:adb kill-server、CLIのadb start-serverはしばしばあなたの問題も解決します。


0

LogCatが再び起動したら、アプリを強制終了します...

これを強制的に閉じるために使用します:D

setContentView(BIND_AUTO_CREATE);

0

時には問題はPCのIDE、ADBなどではありませんが、ADBにログを送信しないデバイスから発生するため、前述のすべての方法を試してもlogcatが空の場合は、再起動してみてください上記の方法をすべて試しましたが、どちらも機能しませんでしたが、電話を再起動した後、logcatは魔法のように機能しました


デバイスがログをADBに送信できるかどうかを確認するにはどうすればよいですか?
JCarlosR 2017

@JCarlosは、上記の解決策のいずれも機能しなかった場合にデバイスの再起動を試みます
Code_Worm

AndroidMonitorを使用Logしてスマートフォンからアプリを実行するとメッセージが表示されますが、スマートウォッチからは機能しません。設定を見ていましたが、すべて良さそうです。
JCarlosR 2017

0

私はこの問題を抱えており、スペースのない文字列タグを修正しました:

"my tag" //表示
"my_tag" //は問題ありません


0

私の場合、文字列に名前を追加する必要がありました。最初の例では、括弧の間にスペースがありました

private static final String TAG = " ";

しかし、名前を追加した後、それは完全に機能しました。

private static final String TAG = "oncreate";

0

Android 3.6.1にアップグレードした後、この問題が何度か発生しました。私の場合、機能するのはデバイスを再起動することだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.