Se vuoi informazioni sane, ti consiglio comandi sani :) (nessuna offesa significava solo scherzare). Quindi la domanda dovrebbe essere:
Come ottenere le informazioni di registro da un dispositivo Android?
E ora siamo dalla parte migliore. Esistono diversi approcci che possono essere utilizzati:
- utilizzare le app per visualizzare le informazioni del registro (con codice colore)
- utilizzare ADB (parte dell'SDK Android) per estrarre in remoto le stesse informazioni
- usa ssh dal telecomando (o un'app terminale locale) per acquisire le informazioni direttamente dal dispositivo
Per gestire completamente questo argomento ci vuole più di questa semplice risposta (se interessati, ad esempio puoi trovare informazioni più dettagliate su molti siti Web o nel libro di Andrew Hoog Android Forensics: Investigation, Analysis and Mobile Security for Google Android , di cui ho avuto il onore di tradurre in tedesco. Probabilmente ci sono anche molte altre fonti.
Quindi ti darò solo alcuni esempi qui per iniziare:
Utilizzo di app
L'app probabilmente più conosciuta in questo contesto è aLogcat , disponibile gratuitamente nel playstore (e lo sviluppatore accetterà felicemente la tua donazione per l'altra variante della stessa app). Di seguito troverai uno screenshot 1 . L'app ti consente di filtrare i log, di avviare / interrompere la registrazione dei messaggi di log e persino di archiviare gli snippet registrati sulla tua scheda SD, ovviamente in testo semplice, come richiesto.
Un'altra app in questa sezione è Log Collector , che cerca semplicemente di afferrare l'intero registro disponibile e inviarlo tramite il menu di condivisione 2 .
Android Debug Bridge (ADB)
Android Software Development Kit (SDK) include il adb
comando per varie attività. Tra gli altri, offre l' adb shell
esecuzione di comandi sul dispositivo. Usando questo, puoi anche raccogliere le informazioni di registro desiderate: basta un prefisso sotto i comandi con adb shell
.
Prompt dei comandi sul dispositivo
Utilizzando un'app terminale (ad esempio Android Terminal Emulator o Terminal IDE ) è possibile accedere ai registri direttamente dal prompt dei comandi, localmente sul dispositivo. Un po 'più comodo, questo può essere fatto eseguendo un server SSH (ad esempio DroidSSHd o DropBear SSH Server ) sul tuo dispositivo e accedendo dal tuo computer. In questo modo puoi lavorare su un grande schermo, mentre analizzi i tuoi registri.
Comandi per accedere alle informazioni del registro
Ci sono molti comandi potenti che puoi usare per accedere alle informazioni del tuo registro dalla riga di comando, e qui darò solo alcuni esempi.
dmesg
Il dmesg
comando estrae il registro del kernel:
$ dmesg
<6>[82839.126586] PM: Syncing filesystems ... done.
<7>[82839.189056] PM: Preparing system for mem sleep
<4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done.
<4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<7>[82839.242279] PM: Entering mem sleep
<4>[82839.242889] Suspending console(s) (use no_console_suspend to debug)
<7>[82839.252410] vfp_pm_save_context: saving vfp state
<6>[82839.252716] PM: Resume timer in 26 secs (864747 ticks at 32768 ticks/sec.)
<6>[82842.091369] Successfully put all powerdomains to target state
<6>[82842.092468] wakeup wake lock: wifi_wake
logcat
Con logcat
, è possibile accedere a molte informazioni di registrazione, ma la maggior parte delle volte ciò richiederà root. Ha alcuni parametri per filtrare le informazioni, ad esempio selezionando il buffer di registro con cui leggere -b
. Per i dettagli, leggere le informazioni fornite nella pagina degli sviluppatori su logcat . Per darti due esempi: logcat -b events
elenca eventi o logcat -b radio
informazioni sul modulo radio del tuo dispositivo.
dumpsys e dumpstate
I due comandi dumpsys
e dumpstate
forniscono informazioni dettagliate sul sistema:
$ dumpsys
Currently running services:
LocationProxyService
SurfaceFlinger
accessibility
account
activity
<snip>
DUMP OF SERVICE account:
Accounts: 1
Account {name=xxxxxxx@googlemail.com, type=com.google}
<snip>
DUMP OF SERVICE alarm:
$ dumpstate
========================================================
== dumpstate: 2012-08-18 23:39:53
========================================================
Build: Gingerbread GWK74 - CyanogenMilestone2
Bootloader: 0x0000
Radio: unknown
<snip>
------ MEMORY INFO (/proc/meminfo) ------
MemTotal: 487344 kB
MemFree: 10436 kB
Buffers: 14136 kB
Cached: 145460 kB
<snip>
riportare un errore
E se sei troppo pigro per ricordarli tutti, usa semplicemente il bugreport
comando - che chiama tutto sopra e lo raggruppa per una bella, umile, segnalazione di bug allo sviluppatore ...
Ovviamente, puoi reindirizzare l'output da tutti quei comandi a un file per copiarlo sul tuo computer, e nella maggior parte dei casi dovresti farlo - poiché il buffer dello schermo sarebbe troppo piccolo per gestirlo tutto: bugreport > /mnt/sdcard/bugreport.txt
sarebbe un esempio per quella parte.
$ dmesg
odmsg
? Ci deve essere un refuso in uno di questi :)