GNU/Linux >> Linux の 問題 >  >> Linux

Android はシャットダウン ログをどこに保存しますか?

次のような場所を見てください:

/proc/last_kmsg
/data/tombstones/
/data/dontpanic/
/data/system/dropbox/

(このリストは厳密にはカーネル ログではなく、フレームワークやアプリケーションのログも含まれます。これらも重要な場合があります)


TL;DR :
logcat と proc/kmsg をファイルにコピーする adb を介してコマンドを実行し、adb が nohup で切断されても実行し続ける 、 disown または setsid .おそらくbusyboxが必要で、rootとadb rootも必要です。
setsid cat proc/kmsg > /sdcard/kmsg.txt &

logcat -v long -f /sdcard/logcat.txt (どういうわけか setsid なしでのみ動作します )

または、起動スクリプトに通常のコピー コマンドを追加します。
/TL;DR

常に proc/kmsg をコピーできます そして logcat Android デバイスまたは microSD カード上のファイルに保存して、adb が切断された後でもログを取得します。

これが機能するには、ルート アクセスと adb ルート アクセスが必要です。後者の場合、カスタム rom または adbd の安全でないアプリがある場合は、開発者向けオプションの設定を使用します。

adb shell 使用後 Android シェルを取得するには、su と入力します スーパーユーザー アクセスを取得します。

アンパサンド (& )コマンドの後だけでなく、adbが切断された後もコマンドが実行され続けることを確認してください。それは nohup によって行われます 、 disown または setsid (使い方はこちら)。
これらのコマンドがないために動作しない場合は、busybox をインストールする必要があります。
こちらの質問をご覧ください。

logcat およびカーネル ログを取得してファイルに出力する方法、またはマージする方法については、こちらを参照してください。logcat コマンドのパラメータについては、developer.android.com/tools/help/logcat.html を参照してください。

最後に、 setsid cat proc/kmsg > /sdcard/kmsg.txt & のようなコマンドを使用できます カーネルメッセージ用。

logcat の場合、次のコマンドのいずれかを使用できます:logcat -v long -f /sdcard/logcat.txt または logcat -v long > /sdcard/logcat.txt

理由はわかりませんが、時々 setsid で動かないことがありました 継続的にコピーしませんでしたが、コマンドを実行した直後に停止しました。これらの状況では、 jobs を入力したときにも表示されました 、それ以外の場合はそうではありませんでした。その後、 setsid なしで機能しました 、切断して再接続した後も生き続けました。ファイルが大きくなり続けるときに試してみる必要があると思います。誰かがなぜそれがそのように振る舞うかを理解したら...私に知らせてください.答えを編集します.

おそらく、コマンドを起動スクリプトに追加することも、一部の解決策になる可能性があります.

これがお役に立てば幸いです。

ファイトクッキー


Android でシャットダウン ログを収集するために私が見つけた 1 つの回避策は、adb pull /proc/kmsg C:\Logs.txt を実行することです。 ホスト PC で、デバイスの電源をオフにします。ホストとデバイス間の USB 通信がスナップするまで、ログを取得します。これは多数のシャットダウン シナリオのうちの 1 つのケースに過ぎないことはわかっていますが、他のケースに対する満足のいく答えは見つかりませんでした!


Linux
  1. GccはBoostがインストールされている場所をどのように知っていますか?

  2. Debian – Debianはネットワーク接続履歴をどこに保存しますか?

  3. ワインストアファイルはどこにありますか?

  1. チーズはその画像をどこに保存しますか?

  2. Androidエミュレーターが起動しない、avd

  3. Android adb が見つかりません

  1. Android Debug Bridge (adb) デバイス - 権限なし

  2. 不正なデバイスを示すadbデバイスを実行していますか?

  3. centos の SSH ログイン ログ ファイルの場所