GNU/Linux >> Belajar Linux >  >> Linux

Di mana Android menyimpan log shutdown?

Lihat di beberapa lokasi seperti ini:

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

(Daftar ini bukan hanya log kernel, termasuk kerangka kerja dan log aplikasi juga, yang terkadang juga menarik)


TL;DR :
Jalankan perintah melalui adb yang menyalin logcat dan proc/kmsg ke file dan tetap menjalankannya bahkan saat adb terputus dengan nohup , disown atau setsid . Mungkin perlu busybox, perlu root dan adb root juga.
setsid cat proc/kmsg > /sdcard/kmsg.txt &
dan
logcat -v long -f /sdcard/logcat.txt (entah bagaimana hanya berfungsi tanpa setsid )

Atau tambahkan perintah salin normal ke beberapa skrip startup.
/TL;DR

Anda dapat terus menyalin proc/kmsg dan logcat ke file di perangkat android Anda atau kartu microSD untuk mendapatkan log bahkan setelah adb terputus.

Anda memerlukan akses root dan akses root adb agar ini berfungsi. Untuk yang terakhir, gunakan pengaturan di opsi pengembang jika Anda memiliki rom khusus atau aplikasi adbd tidak aman.

Setelah menggunakan adb shell untuk mendapatkan shell android anda, ketik su untuk mendapatkan akses pengguna super.

Maka Anda tidak hanya perlu meletakkan ampersand (& ) setelah perintah tetapi pastikan juga bahwa perintah tetap berjalan setelah adb terputus. Itu dilakukan oleh nohup , disown atau setsid (lihat di sini untuk penggunaan).
Jika tidak berhasil karena Anda tidak memiliki perintah ini, Anda perlu menginstal busybox.
Lihat pertanyaan saya di sini.

Lihat di sini untuk mengetahui cara mendapatkan logcat dan log kernel serta mencetaknya ke beberapa file atau menggabungkannya. Lihat developer.android.com/tools/help/logcat.html untuk parameter untuk perintah logcat.

Pada akhirnya Anda dapat memiliki perintah seperti setsid cat proc/kmsg > /sdcard/kmsg.txt & untuk pesan kernel.

Untuk logcat, Anda dapat memiliki salah satu dari perintah berikut:logcat -v long -f /sdcard/logcat.txt atau logcat -v long > /sdcard/logcat.txt

Saya tidak tahu kenapa, tapi terkadang tidak bekerja dengan setsid dan tidak menyalin terus menerus tetapi berhenti segera setelah menjalankan perintah. Dalam situasi ini, itu juga muncul saat memasukkan jobs , yang tidak sebaliknya. Maka itu hanya berfungsi tanpa setsid , itu tetap hidup setelah memutuskan dan menghubungkan kembali. Saya kira Anda harus mencoba ketika file terus bertambah besar. Jika seseorang mengetahui mengapa ini berlaku seperti itu... beri tahu saya dan saya akan mengedit jawabannya.

Mungkin menambahkan perintah ke skrip startup juga bisa menjadi solusi bagi sebagian orang.

Semoga ini bisa membantu.

fightcookie


Satu solusi yang saya temukan untuk mengumpulkan log shutdown di Android adalah menjalankan adb pull /proc/kmsg C:\Logs.txt pada PC host dan kemudian matikan perangkat. Anda akan mendapatkan log hingga komunikasi USB antara host dan perangkat terkunci! Saya tahu ini hanya satu kasus dari sekian banyak skenario penonaktifan, tetapi saya belum menemukan jawaban yang memuaskan untuk kasus lain!


Linux
  1. Di Mana Keju Menyimpan Gambarnya?

  2. emulator android tidak mulai, avd

  3. Android adb tidak ditemukan

  1. Perangkat Android Debug Bridge (adb) - tanpa izin

  2. menjalankan perangkat adb menunjukkan perangkat yang tidak sah?

  3. dari mana 'pkg-config' mengambil informasinya?

  1. Di mana Google Chrome untuk Linux menyimpan data khusus pengguna?

  2. Ke mana perginya metadata saat Anda menyimpan file?

  3. Android - Bagaimana cara agar perangkat saya terdeteksi oleh ADB di Linux?