web-dev-qa-db-ja.com

LogcatはLog.dメッセージを表示しません

Androidアプリケーションを開発していて、コードの実行時にデバッグステートメントを出力する方法が欲しいのですが、幸いなことに、Logcatを実行するとLog.dメッセージを出力できました。 Android 2.3.3(API 10)エミュレーター上の私のアプリケーション。

ただし、物理デバイス(Samsung Galaxy S4 Android 4.2.2))でまったく同じアプリケーションをテストしたところ、dalvikvmメッセージとAndroidRuntimeメッセージ以外は表示されませんでした。

com.Android.internal.os.RuntimeInit <<<<<<
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): CheckJNI is OFF
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): setted country_code = USA
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): setted countryiso_code = US
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): setted sales_code = VZW
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: start
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: already setted!!
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: end
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): addProductProperty: start
07-28 04:49:24.185: DEBUG/dalvikvm(6378): Trying to load lib libjavacore.so 0x0
07-28 04:49:24.185: DEBUG/dalvikvm(6378): Added shared lib libjavacore.so 0x0
07-28 04:49:24.195: DEBUG/dalvikvm(6378): Trying to load lib libnativehelper.so 0x0
07-28 04:49:24.195: DEBUG/dalvikvm(6378): Added shared lib libnativehelper.so 0x0
07-28 04:49:24.385: DEBUG/AndroidRuntime(6378): Calling main entry com.Android.commands.pm.Pm
07-28 04:49:26.978: DEBUG/AndroidRuntime(6378): Shutting down VM
07-28 04:49:26.988: DEBUG/dalvikvm(6378): GC_CONCURRENT freed 157K, 21% free 627K/788K, paused 1ms+0ms, total 4ms
07-28 04:49:26.988: DEBUG/jdwp(6378): Got wake-up signal, bailing out of select
07-28 04:49:26.988: DEBUG/dalvikvm(6378): Debugger has detached; object registry had 1 entries
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): >>>>>> AndroidRuntime START com.Android.internal.os.RuntimeInit <<<<<<
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): CheckJNI is OFF
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted country_code = USA
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted countryiso_code = US
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted sales_code = VZW
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: start
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: already setted!!
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: end
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): addProductProperty: start
07-28 04:49:27.468: DEBUG/dalvikvm(6420): Trying to load lib libjavacore.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Added shared lib libjavacore.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Trying to load lib libnativehelper.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Added shared lib libnativehelper.so 0x0
07-28 04:49:27.649: DEBUG/AndroidRuntime(6420): Calling main entry com.Android.commands.am.Am
07-28 04:49:27.659: DEBUG/dalvikvm(6420): Note: class Landroid/app/ActivityManagerNative; has 169 unimplemented (abstract) methods
07-28 04:49:27.719: DEBUG/AndroidRuntime(6420): Shutting down VM
07-28 04:49:27.729: DEBUG/dalvikvm(6420): GC_CONCURRENT freed 157K, 20% free 666K/828K, paused 0ms+1ms, total 3ms
07-28 04:49:27.729: DEBUG/jdwp(6420): Got wake-up signal, bailing out of select
07-28 04:49:27.729: DEBUG/dalvikvm(6420): Debugger has detached; object registry had 1 entries

Logcatが物理デバイスを正しくターゲットにしていて、adbデバイスに表示され、USBデバッグがオンになっているため、何が起こっているのか正確にはわかりません。

Log.eを使用してみましたが、出力に影響はありませんでした。

AndroidManifest.xmlでAndroid:debuggable = "true"を設定しました。

ここに欠けているものはありますか?物理デバイスでアプリを実行しているときに、Logcatがデバッグメッセージを表示しないのはなぜですか?

編集:Android 4.2.2エミュレーターで同じアプリを試しましたが、Logcatはエミュレーターで期待どおりに動作しますが、USBデバイスを介したLogcatにはまだ問題があります。通常のLogcatプリントアウトでは、私が投稿したブロックは、詳細ログレベルで表示される唯一のものです。

15
flawedmatrix

一部の電話がパフォーマンスを向上させるためにログを無効にしたことが原因である可能性があります。

たとえば、私の電話HUAWEI P9 liteでは、Log.dを機能させるために次の手順を実行する必要があります。

  1. *#*#2846579#*#* をダイヤルします
    • 番号は異なる場合があります。携帯電話のシークレットコードを取得するには、検索を行う必要があります。
  2. ProjectMenuページにアクセスしてください
  3. Background Settingsをクリックします
  4. LOG Settingsをクリックします
  5. AP Logを確認してください。
  6. 理由は不明ですが、LOG Settingsを再度開くと、すべてのログが自動的にチェックされます。

enter image description here

[UPDATE]

ちょうど今、私がgitからプルした後に再び起こります、adb Shellはこれを示しています:

open '/dev/hwlog_switch' fail -1, 13. Permission denied
log switch off, only log_main and log_events will have logs!

新しいプロジェクトでテストしたところ、ログが記録されました。この古いプロジェクトだけに問題があります。アプリを再構築し、上記のログ手順を再度有効にして、電話を再起動しようとしましたが、それでもうまくいきませんでした。

次に、電話でアプリをアンインストール(または関連するすべてのproductFlavorsアプリ)して再インストールすると、ログが返されました。

32
林果皞

一部のモデルでは、開発者向けオプションに移動し、[詳細ログ]で[すべて許可]を選択する必要があります。

次のスクリーンショットは、私のMeizu MX 4Proからのものです。

enter image description here

10
jgrocha

今日、私は同じ問題に直面しました。言及された解決策として私にとって何もうまくいきませんでした。しかし、私にとってうまくいったのはAndroid Studio右側の画像に記載されているとおりです。画像に記載されているオプションを選択してください。その後、すべてが期待どおりに機能しました。ソリューションを投稿します。それは他の人を助けるかもしれません。

enter image description here

他の人を助けることを願っています

1
Abdul Waheed

答えではないかもしれませんが、写真を表示する必要があります。次のように、TAGのフィルターを設定してみてください。

enter image description here

そして、詳細オプションを選択します。

enter image description here

これは役に立ちますか?

0
Opiatefuchs

LogcatのUSBデバッグを有効にしましたか? (物理デバイスがUSBケーブルで接続されている場合)。 「設定」、「アプリケーション」、「開発」の順に移動し、「USBデバッグ」を確認してください。

次に、DDMSに表示されます。ログをデバッグ/表示するには、これを選択するだけです。

0
KarelG

次のように、adbシェルを介してログを(目的のレベルに)設定する必要があります。

  1. Android sdkフォルダー内のplatform-toolsに移動します。
  2. Linux/mac/windowspowershellの場合は./adb Shellを使用して、windowscmdの場合はadb Shellを使用してadbシェルを開きます。
  3. 次のコマンドを発行します。

     stop
     setprop log.tag.MYTAG VERBOSE
     start 
    
0
Mafro34