Qualcuno ha qualche suggerimento su come posso vedere il testo completo degli errori che si verificano quando provo a sincronizzare le mie cartelle K9?
Sembra che non ci sia modo di vedere questi messaggi di log sul dispositivo senza accesso root , ma se si dispone dell'accesso root, ci sono un paio di opzioni, o concedere le autorizzazioni necessarie a aLogcat o considerare l'utilizzo di un orribile hack TM per visualizzare direttamente.
Visualizza i file di registro sul tuo PC o workstation tramite adb
Se riesci a connettere il tuo dispositivo Android a un PC o una workstation, puoi accedere ai registri tramite il adb
comando.
Per fare ciò su Windows, prima devi installare Android SDK (che richiederà Java SE SDK ) e aggiungere android-sdk\tools
e android-sdk\platform-tools
al percorso di sistema . Quindi abilita il debug USB sul Nexus 7, collegalo tramite USB e installa l' interfaccia composita Android ADB da android-sdk\extras\google\usb_driver
(ho dovuto forzare Windows XP a guardare qui, non avrebbe trovato i driver da solo).
Per i dettagli su come iniziare adb
a funzionare senza l'installazione completa dell'SDK di Android o su macchine Mac o Linux, vedere l'eccellente risposta di Izzy a
Esiste un'installazione minima di ADB?
Quindi puoi aprire una shell (cioè una cmd
finestra) ed eseguire il comando:
adb logcat k9:V *:S AndroidRuntime:E
- Ho confermato che funziona sul mio Nexus 7 non rootato.
Concedere le autorizzazioni a aLogcat
Se si dispone dell'accesso root , si potrebbe considerare di concedere l' READ_LOGS
autorizzazione a aLogcat , come suggerito in questo post aLogcat / CatLog / Lumberjack non funziona? Fallo ... sul forum xda-developers :
pm grant <pkg> android.permission.READ_LOGS
Per concedere questa autorizzazione a alogcat
o alogcat.donate
, utilizzare uno dei seguenti comandi, a seconda che si stia eseguendo o meno la versione donata:
pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
pm grant org.jtb.alogcat android.permission.READ_LOGS
Secondo un post su sviluppatori Android e il ticket , la concessione dell'autorizzazione sopravvive al riavvio e all'aggiornamento, ma non alla disinstallazione / reinstallazione.
Purtroppo dal momento che questo richiede l'accesso come root, sia che io lo esegua sul dispositivo o sul mio PC (preceduto da adb shell
) ottengo solo l'errore:
Neither user 12345 nor current process has android.permission.GRANT_REVOKE_PERMISSION
- Non posso confermare che funzioni, dato che il mio Nexus 7 non è stato rootato.
Prendi in considerazione l'uso di un orribile hack TM
Se disponi dell'accesso root , potresti prendere in considerazione la possibilità di creare logcat
setuid root ed eseguire logcat dalla shell del dispositivo, come suggerito in questa risposta alla mia Come posso accedere ai file di registro Android sul mio Nexus 7 senza accesso root? domanda:
chmod 04755 /system/bin/logcat
logcat k9:V *:S AndroidRuntime:E
- Ancora una volta, non posso confermare che funzioni e probabilmente lo userei solo come ultima risorsa , date le implicazioni di sicurezza.
Perché non vengono visualizzati messaggi di registro da K9 nel visualizzatore registri aLogcat ?
Potrebbe essere cambiato qualcosa in Jelly Bean che ha portato la registrazione di K9 a smettere di funzionare?
Dato che aLogcat sembrano esserci pochi messaggi mostrati in generale, qualcosa è cambiato in Jelly Bean, il che potrebbe significare che non è più in grado di accedere a tutti i messaggi?
Questo sembra essere un cambiamento in Jelly Bean che interessa tutte le applicazioni che potrebbero tentare di leggere i file di registro.
A quanto pare l'autorizzazione READ_LOGS non è concessa alle applicazioni di terzi in Jelly Bean . Dal momento che questo link sembra essere inaffidabile:
Oggi ho testato la mia applicazione sul più recente emulatore (api 16) prima di rilasciarla su Google Play. Si è scoperto che Android ora rifiuta di concedere questa autorizzazione alle applicazioni di terze parti. Questo è strano perché ho esaminato tutte le modifiche documentate di Jelly Bean e non sono riuscito a trovare nulla che menzioni l'autorizzazione READ_LOGS.
e più tardi
ProtectionLevel per READ_LOGS ora è "firma | sistema | sviluppo". Anche la nuova sintassi della pipe per protectionLevel non è documentata (vedi http://code.google.com/p/android/issues/detail?id=34785 ).
Il mio sospetto è che aLogcat stia vedendo solo i messaggi generati da solo ed è vm.
Per ulteriori informazioni, vedere Flow risponde alla mia domanda Quanto devo aspettarmi che sia attivo il mio file di registro del sistema Jelly Bean?
adb logcat
è ancora in grado di ottenere il registro Android completo su Jelly Bean.