Podívejte se na některá místa, jako jsou tato:
/proc/last_kmsg
/data/tombstones/
/data/dontpanic/
/data/system/dropbox/
(Tento seznam nejsou striktně protokoly jádra, včetně protokolů frameworku a aplikací, které jsou také někdy zajímavé)
TL;DR :
Spusťte příkaz přes adb, který zkopíruje logcat a proc/kmsg do souboru a udrží jej spuštěný, i když se adb odpojí pomocí nohup
, disown
nebo setsid
. Pravděpodobně potřebuje busybox, potřebuje také root a adb root.
setsid cat proc/kmsg > /sdcard/kmsg.txt &
a
logcat -v long -f /sdcard/logcat.txt
(nějak funguje pouze bez setsid
)
Nebo přidat normální kopírovací příkazy do nějakého spouštěcího skriptu.
/TL;DR
proc/kmsg
můžete neustále kopírovat a logcat
do souboru v zařízení Android nebo na kartu microSD, abyste získali protokoly i po odpojení adb.
Aby to fungovalo, potřebujete přístup root a přístup root adb. V druhém případě použijte nastavení v možnostech vývojáře, pokud máte vlastní rom nebo nezabezpečenou aplikaci adbd.
Po použití adb shell
Chcete-li získat své prostředí Android, zadejte su
získat přístup superuživatele.
Pak nemusíte pouze vložit ampersand (&
) po příkazu, ale také se ujistěte, že příkaz běží i po odpojení adb. To se provádí pomocí nohup
, disown
nebo setsid
(použití viz zde).
Pokud to nefunguje, protože nemáte tyto příkazy, musíte nainstalovat busybox.
Viz můj dotaz zde.
Zde se dozvíte, jak získat logcat a protokoly jádra a vytisknout je do nějakého souboru nebo je sloučit. Parametry pro příkaz logcat najdete na stránce developer.android.com/tools/help/logcat.html.
Nakonec můžete mít příkaz jako setsid cat proc/kmsg > /sdcard/kmsg.txt &
pro zprávy jádra.
Pro logcat můžete mít jeden z následujících příkazů:logcat -v long -f /sdcard/logcat.txt
nebo logcat -v long > /sdcard/logcat.txt
Nevím proč, ale někdy to s setsid
nefungovalo a prostě nekopíroval nepřetržitě, ale zastavil se krátce po provedení příkazu. V těchto situacích se také zobrazil při zadání jobs
, což jinak nedělalo. Pak to fungovalo bez setsid
, zůstal naživu po odpojení a opětovném připojení. Myslím, že to musíte zkusit, když se soubor stále zvětšuje. Pokud někdo přišel na to, proč se to tak chová... dejte mi vědět a já odpověď upravím.
Pravděpodobně by pro některé mohlo být řešením i přidání příkazů do spouštěcího skriptu.
Doufám, že to pomůže.
fightcookie
Jedno řešení, které jsem našel pro shromažďování protokolů o vypnutí v systému Android, je spuštění adb pull /proc/kmsg C:\Logs.txt
na hostitelském počítači a poté zařízení vypněte. Budete dostávat protokoly, dokud USB komunikace mezi hostitelem a zařízením nezapadne! Vím, že toto je pouze jeden případ z mnoha scénářů odstavení, ale nenašel jsem uspokojivé odpovědi pro ostatní případy!